Вспоминаем Си. Richedit, Выравнивание текста

Задался вопросом как мне красиво выровнять текст по обоим границам, так сказать «сделать ему Justify» ?
Начиная с версии RichEdit 2.0, элемент управления может выравнивать текст от левого до правого края, и сделать это можно таким образом:

// hwnd - хэндл окна / диалога с элементом управления RichEdit
PARAFORMAT p; // структура для управления форматированием текста

// включаем расширенное форматирование и перенос строк
SendDlgItemMessage(hwnd, IDC_RICHEDIT1, EM_SETTYPOGRAPHYOPTIONS,
                   TO_ADVANCEDTYPOGRAPHY , TO_ADVANCEDTYPOGRAPHY );

memset(&p, 0, sizeof(p));   // заполняем всю структуру нулями
p.cbSize = sizeof(p);       // устанавливаем размер структуры
p.dwMask = PFM_ALIGNMENT;   // указываем, что мы хотим изменить выравнивание
p.wAlignment = PFA_JUSTIFY; // как именно мы хотим его изменить

// устанавливаем так нужное нам выравнивание текста между левой и правой краями
SendDlgItemMessage(hwnd, IDC_RICHEDIT1, EM_SETPARAFORMAT, 0L, (LPARAM)&p);
Запись опубликована в рубрике Программирование с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий