Главная страница
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.013 c
3-95630
Dim!S
2002-08-07 07:19
2002.08.29
Нумерация записей


7-95989
elgato
2002-06-19 11:10
2002.08.29
System Message


1-95812
lipskiy
2002-08-15 01:46
2002.08.29
Можно ли получить имя процедуры/функции в строковую переменную?


14-95942
Александр
2002-08-02 12:48
2002.08.29
Совместимость ПО с Windows XP


14-95953
Jeer
2002-07-30 21:27
2002.08.29
---|Ветка была без названия|---