Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как в 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.


Наверх

Титульная страница Поиск, карта сайта Написать письмо