![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ScrollBars в рантайм [Delphi, Windows]
=BuckLr= © (2007-05-24 12:43:00)Привет, уважаемые! Такая вот ситуация - есть RichEdit, при создании убираю скроллбары. А как мне во время выполнения программы вернуть их? Ну, скажем вертикальный, что ли, или горизонтальный... Копал в сторону ShowScrollBar и SetScrollRange, но не добился желаемого эффекта.
Я правильно понял, что такие свойства задаются эдиту только при создании? Тогда как быть, если необходимо будет их изменить?
=BuckLr= (2007-05-26 15:31:00) [1]
> Успокоил?
Да :)
Vladimir Kladov (2007-05-26 11:48:00) [2]VCL так и делает - пересоздает контрол, виртуальным методом. Успокоил?
=BuckLr= (2007-05-26 10:30:00) [3]
> А вы хоть пробовали?
Вот именно так - нет, попробую. Но там проблема в другом. Я наблюдаю визуальные глюки через раз после пересоздания. Но видно это моя проблема, попробую найти. За код спасибо.
И вопрос - чем чревато такое вот присвоение рича ричу? Что, если в том эдите будет большой текст? Не займёт ли это слишком много памяти (чисто теоретически, ведь рич может хранить текст до 4 Гб)?
Vladimir Kladov (2007-05-26 09:18:00) [4]А вы хоть пробовали?
oldRichEdit := RichEdit1;
RichEdit1 := NewRichEdit( Form {или что там было родителем} ).SetAlign(...)...
{просто скопируйте из unit_1.inc процедуру создания с нужными изменениями}
RichEdit1.RE_Text[reRTF] := oldRichEdit.RE_Text[reRTF];
RichEdit1.SelStart := oldRichEdit.SelStart;
RichEdit1.GetWindowHandle;
oldRichEdit.Free;
=BuckLr= (2007-05-25 23:25:00) [5]
> Какие слоности вызывает пересоздание контрола своим кодом?
Никаких, кроме того, что я не могу в моём проекте пересоздавать этот контрол. Вот и решил сюда написать, авось кто-нибудь уже сталкивался.
Vladimir Kladov (2007-05-25 17:16:00) [6]Какие слоности вызывает пересоздание контрола своим кодом?
=BuckLr= (2007-05-25 15:50:00) [7]
> А разве у KOLRichedit есть свойство ShowScrollBar?
Это API функция
> В VCL это выглядит вот так:
Знаю, но хотелось бы на KOL...
Compiler (2007-05-25 14:28:00) [8]А разве у KOLRichedit есть свойство ShowScrollBar?
В VCL это выглядит вот так:
Richedit1.ScrollBars:=ssHorizontal;
InvalidateRect(richedit1.Handle,nil,true);
Горизонтальный появляется только при WordWrap=False