Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 3 апреля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



Обнаружение прокрутки TListBox

Автор: Dr. Bob

Хмм, было бы неплохо отлавиливать это сообщение и генерировать для этого случая событие OnVScroll. Например так:


 unit Listbob;
 
 interface
 
 uses
   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
   Forms, Dialogs, StdCtrls;
 
 type
   TListBob = class(tlistbox)
   private
     { Private declarations }
     FOnHScroll: TNotifyEvent;
     FOnVScroll: TNotifyEvent;
   protected
     { Protected declarations }
     procedure WMHScroll(var Message: TWMHScroll); message WM_HSCROLL;
     procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;
   public
     { Public declarations }
     constructor Create(AOwner: TComponent); override;
   published
     { Published declarations }
     property OnHScroll: TNotifyEvent read FOnHScroll write FOnHScroll;
     property OnVScroll: TNotifyEvent read FOnVScroll write FOnVScroll;
   end;
 
 procedure Register;
 
 implementation
 
 constructor TListBob.Create(AOwner: TComponent);
 begin
   inherited Create(AOwner);
   FOnHScroll := nil;
   FOnVScroll := nil;
 end;
 
 procedure TListBob.WMHScroll(var Message: TWMHScroll);
 { помните что данное сообщение вызывается дважды!! }
 begin
   if Assigned(FOnHScroll) then
     FOnHScroll(Self);
   DefaultHandler(Message);
 end;
 
 procedure TListBob.WMVScroll(var Message: TWMHScroll);
 { помните что данное сообщение вызывается дважды!! }
 begin
   if Assigned(FOnVScroll) then
     FOnVScroll(Self);
   DefaultHandler(Message);
 end;
 
 procedure Register;
 begin
   RegisterComponents('Dr.Bob', [TListBob]);
 end;
 
 end.
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS