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

Вниз

Люди, поможите!! Как встроить в CheckListBox событие OnScroll,   Найти похожие ветки 

 
GIL ©   (2002-08-12 05:28) [0]

Люди, поможите!! Как встроить в CheckListBox событие OnScroll, пробовал, не получается, т.е. событие добавляет, но не работает


 
GrEG ©   (2002-08-12 08:31) [1]

Без наследника не обойдешься.


TMyCheckListBox = class(TCheckListBox)
private
FOnScroll:TNotifyEvent;
public
procedure WMHScroll(var Msg:TWMScroll); message WM_HSCROLL;
procedure WMVScroll(var Msg:TWMScroll); message WM_VSCROLL;
published
property OnScroll:TNotifyEvent read FOnScroll write FOnScroll;
end;


В процедурах WMHScroll и WMVScroll можешь обрабатывать скроллинг по горизонтали и вертикали соответственно. В конце (или в начале) обработчиков нелишне вызвать inherited .
Например WMHScroll может выглядеть так:


procedure TMyCheckListBox.WMHScroll(var Msg:TWMScroll);
begin
if Assigned(FOnScroll) then
FOnScroll(Self);
inherited;
end;


Естественно, для того чтобы твой компонет появился на панели компонетов, его нужно зарегистрировать.

Честно говоря TNotifyEvent не очень подходит для этого события, так как не несет информации о направлении скроллинга (вериткаль - горизонталь) и количестве (на сколько изменилось положение бегунка).


 
GIL ©   (2002-08-17 06:30) [2]

Не получилось. То же самое - событие добавляет, но не реагирует. Не знаю может быть я что-то не так делаю.



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

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

Наверх




Память: 0.47 MB
Время: 0.011 c
1-95825
race1
2002-08-17 08:40
2002.08.29
мерцание :(


3-95725
jessis
2002-08-09 14:17
2002.08.29
TDBGrid


14-95944
DeepProg
2002-08-02 19:21
2002.08.29
Education


1-95742
unfam
2002-08-19 03:11
2002.08.29
PChar


4-96013
help plz
2002-06-24 00:00
2002.08.29
SystemTray