Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.09;
Скачать: CL | DM;

Вниз

ScrollBars в рантайм   Найти похожие ветки 

 
=BuckLr=   (2007-05-24 12:43) [0]

Привет, уважаемые! Такая вот ситуация - есть RichEdit, при создании убираю скроллбары. А как мне во время выполнения программы вернуть их? Ну, скажем вертикальный, что ли, или горизонтальный... Копал в сторону ShowScrollBar и SetScrollRange, но не добился желаемого эффекта.

Я правильно понял, что такие свойства задаются эдиту только при создании? Тогда как быть, если необходимо будет их изменить?


 
Compiler ©   (2007-05-25 14:28) [1]

А разве у KOLRichedit есть свойство ShowScrollBar?
В VCL это выглядит вот так:

Richedit1.ScrollBars:=ssHorizontal;
InvalidateRect(richedit1.Handle,nil,true);

Горизонтальный появляется только при WordWrap=False


 
=BuckLr=   (2007-05-25 15:50) [2]


> А разве у KOLRichedit есть свойство ShowScrollBar?

Это API функция


> В VCL это выглядит вот так:

Знаю, но хотелось бы на KOL...


 
Vladimir Kladov   (2007-05-25 17:16) [3]

Какие слоности вызывает пересоздание контрола своим кодом?


 
=BuckLr=   (2007-05-25 23:25) [4]


> Какие слоности вызывает пересоздание контрола своим кодом?

Никаких, кроме того, что я не могу в моём проекте пересоздавать этот контрол. Вот и решил сюда написать, авось кто-нибудь уже сталкивался.


 
Vladimir Kladov   (2007-05-26 09:18) [5]

А вы хоть пробовали?
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-26 10:30) [6]


> А вы хоть пробовали?

Вот именно так - нет, попробую. Но там проблема в другом. Я наблюдаю визуальные глюки через раз после пересоздания. Но видно это моя проблема, попробую найти. За код спасибо.

И вопрос - чем чревато такое вот присвоение рича ричу? Что, если в том эдите будет большой текст? Не займёт ли это слишком много памяти (чисто теоретически, ведь рич может хранить текст до 4 Гб)?


 
Vladimir Kladov   (2007-05-26 11:48) [7]

VCL так и делает - пересоздает контрол, виртуальным методом. Успокоил?


 
=BuckLr=   (2007-05-26 15:31) [8]


> Успокоил?

Да :)



Страницы: 1 вся ветка

Текущий архив: 2007.12.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
2-1195214548
no3ep
2007-11-16 15:02
2007.12.09
printers


2-1194847372
Layner
2007-11-12 09:02
2007.12.09
Запуск приложения от другого пользователя и выход(logout) из XP


2-1194866181
Kolan
2007-11-12 14:16
2007.12.09
Что значит ошибка &amp;laquo;Invalid value for field <поле>&amp;raquo;?


3-1186423517
Анна
2007-08-06 22:05
2007.12.09
запрос в сводную таблицу Excel


2-1194847910
Layner
2007-11-12 09:11
2007.12.09
Посоветуйте ф-ю определения размер ОЗУ / свободной памяти