![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в RichEdit добавить свойство WordWrap?
Юрий © (2003-05-18 18:22:00)
Почему в КОЛ для RichEdit этого нет, разве это не полезное свойство при отображении текстов?
mike.dld (2003-05-26 18:17:00) [1]
2Юрий (26.05.03 17:40)
>не в рантайме, а по ходу работы приложения
RunTime (англ.) и есть время, когда приложение работает :)
Юрий (2003-05-26 17:40:00) [2]
"в VCL - при изменении таких свойств контрола он пересоздается. "
Это действительно так? Просто я этого не знал и не понимал, почему контролы ведут себя несколько иначе, не так как в VCL. И если в Wordpad-е в View->Options->RichText опцию WordWrap изменяешь, то реально Wordpad на ходу пересоздаёт окно? Правильно я понимаю?
"создать заново в рантайме." - не в рантайме, а по ходу работы приложения. Причёт тут рантайм?
Yury Sidorov (2003-05-26 12:41:00) [3]
Некоторые стили Windows контролов можно задать только один раз при его создании. Потом их поменять на лету невозможно. Единственный выход из этой ситуации - уничтожить контрол и создать его заново, но уже с другими стилями. Так это сделано в VCL - при изменении таких свойств контрола он пересоздается. В KOL этого нет и не будет, т.к. в большинстве случаев это не нужно, а по размеру кода сильно ударит.
Так что, если нужно поменять ВордВрап в РичЕдите, то нужно просто его уничтожить и создать заново в рантайме.
Это совсем не сложно сделать.
Юрий (2003-05-25 19:11:00) [4]
Что же, KOL не позволяет изменить поведение richedit контрола? Если изначально он wrap-ит текст из файла, то и всегда это будет делать (хоть и добавищь скроллбар) и наоборот (если изначально не wrap-ит текст, будет так же при удалении скроллбара)?
Юрий (2003-05-22 17:01:00) [5]
Набрал код:
ShowScrollBar(richedit.Handle, SB_HORZ, True);
//перезагружаю файл в richedit
richedit.RE_LoadFromFile(sFile, reText, False);
Самое интересное, что текст рисуется так же, как рисовался и до появления Скроллбара (он wrap-ится).
Если же делаю richedit изначально со Скроллбаром, а потом убираю, то перезагруженный текст не весь виден становится (он совсем не wrap-ится), куски текста справа уже недоступны, а Скроллбара уже нет.
ShowScrollBar(richedit.Handle, SB_HORZ, False);
richedit.RE_LoadFromFile(sFile, reText, False);
Где же ошибка - в функции ShowScrollBar или в функции RE_LoadFromFile?
blackalex (2003-05-22 09:48:00) [6]
Есть другой вопрос, каким образом на ходу поменять отсутствие HScroll на присутствие, через функцию SendMessage (или Perform)?
Попробуй ShowScrollBar.
Юрий (2003-05-21 16:44:00) [7]
"Так ведь Wordwrap = false, если есть Options.eoNoHScroll = false, и true, если Options.eoNoHScroll = true."
Спасибо за ответ на вопрос.
Есть другой вопрос, каким образом на ходу поменять отсутствие HScroll на присутствие, через функцию SendMessage (или Perform)?
Правильно я понимаю?
mike.dld (2003-05-21 02:16:00) [8]
Так ведь Wordwrap = false, если есть Options.eoNoHScroll = false, и true, если Options.eoNoHScroll = true.
Юрий (2003-05-19 19:35:00) [9]
Определение WordWrap:
property WordWrap: Boolean read fWordWrap;
Что получается, если нужно будет включить свойство WordWrap для KolReachEdit, то на ходу его поменять нельзя будет? Хочется использовать KolReachEdit, в котором бы можно было просматривать текст как с WordWrap = True так и с с WordWrap = False;
Нельзя ли это переделать, добавив WordWrap для KolReachEdit?
Юрий (2003-05-19 18:30:00) [10]
Кладову:
Предлагаю KolRichEdit обеспечить свойством WordWrap, так как это сделано в VCL.