Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Перенос строк в EditBox


Автор: BIV 25.6.2012, 23:29
Всем доброе время суток!
Пытаюсь понять как делать перенос строки в окне EditBox если текст выходит за рамки объекта. Пытаюсь осуществить перенос не по словам, именно то что выходит за рамки.

Обшарив MSDN, нашел сообщение EM_SETWORDBREAKPROC
Понятно что составляется код таким образом
Код

edit_2.SendMessage(EM_SETWORDBREAKPROC, (wParam) .... , (lParam) ....);

Вопрос в том как именно составить параметры, которые надо вставлять на место многоточии.
Поисковики выводят либо нерешенные вопросы, либо пример на delphi

Автор: volatile 26.6.2012, 02:08
Цитата(BIV @  25.6.2012,  23:29 Найти цитируемый пост)
Пытаюсь понять как делать перенос строки в окне EditBox если текст выходит за рамки объекта.

BIV, Это решается без кода.
Нужно лишь установить соответствующие свойства EditBox'a
Точно щас не скажу какие, но сделать точно можно. 
(если не найдете, завтра точно сообщу какие  именно свойства)

Добавлено через 1 минуту и 11 секунд
ES_MULTILINE, кажется...

Автор: BIV 26.6.2012, 09:23
MULTILINE у меня включен, он позволяет делать перенос если в строке встречается \r\n
Auto HScroll = False это перенос по словам, а мне надо перенести именно часть текста (не по словам), которые выходят за рамки

Автор: Albor 27.6.2012, 12:11
Цитата(BIV @  26.6.2012,  08:23 Найти цитируемый пост)
мне надо перенести именно часть текста (не по словам), которые выходят за рамки 

Тогда нужно рассчитывать текст самому, плюс правила переноса. Задача не простая. Может проще выровнять текст по ширине?

Автор: BIV 27.6.2012, 15:02
Ну там длинные адреса файлов, папок, поэтому нет смысла, думаю, делать перенос по правилам.
Хотя, тот момент что выравнивание текста по ширине, было бы неплохо узнать

Автор: Albor 27.6.2012, 18:00
Цитата(BIV @  27.6.2012,  14:02 Найти цитируемый пост)
 длинные адреса файлов, папок,

Можно попробовать поступить проще - вставлять перевод строки через определённое число символов (меньшее, чем может поместиться в строке), а потом всё это передать в editbox.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)