Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.5.239] |
|
Сообщ.
#1
,
|
|
|
Создаю RichEdit на окне из ресурса (может это имеет значение) со следующими флагами
ES_MULTILINE | ES_AUTOHSCROLL | ES_AUTOVSCROLL | WS_HSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP | ES_WANTRETURN Первым делом попробовал флаги окна поменять SetWindowlong (hWnd, SWL_STYLE, GetWindowLong (hWnd, GWL_STYLE) & ~WS_HSCROLL & ~WS_AUTOVSCROLL); SetWindowPos (hEditWnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED); // чтобы окно проапдейтилось Изменений нет Потом покопал EM_SETWORDWRAPMODE - это тока для азиатских языков. Покопал EM_SETWORDBREAKPROC - вменяемого примера не нашел. Пока сделал - удаляю старое окно и создаю новое с нужными флагами, свойствами и текстом как у старого. Но что то это как то не правильно. |
Сообщ.
#2
,
|
|
|
Тоже бился над этой проблемой. Сложно нагуглить решение, потому скину сюда. Специально даже на форуме зарегался.
Вот моя итоговая функция самописного класса RichEdit void RichEdit::setWordWrap(bool w) { SendMessage(m_hWnd, EM_SETTARGETDEVICE, NULL, (LPARAM)!w); } Если передать true - будет WordWrap, если false - не будет. |