Задался вопросом как мне красиво выровнять текст по обоим границам, так сказать «сделать ему 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);