В приведенном примере показано как отследить (обнаружить) движение колеса мыши.
Принцип работы прост - на события
OnMouseWheel ,
OnMouseWheelDown ,
OnMouseWheelUp вешаются соответствующие процедуры-обработчики.
Код unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
// описание обработчиков событий
// обработка движения колеса мыши
procedure MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
// обработка прокрутки колеса вниз
procedure MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
// обработка прокрутки колеса вверх
procedure MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
// Назначаем обработчики для событий:
// движение колеса мыши
Form1.OnMouseWheel:=MouseWheel;
// прокрутка колеса вниз
Form1.OnMouseWheelDown:=MouseWheelDown;
// прокрутка колеса вверх
Form1.OnMouseWheelUp:=MouseWheelUp;
end;
procedure TForm1.MouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
// Детекция движения колеса вниз
ShowMessage('Колесо повернуто вниз');
end;
procedure TForm1.MouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
// Детекция движения колеса вверх
ShowMessage('Колесо повернуто вверх');
end;
procedure TForm1.MouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
// Процедура реакции на движение колеса мыши
ShowMessage('Обнаружено движение колеса мыши...');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
// отменяем обработку событий от колеса мыши
Form1.OnMouseWheel:=nil;
Form1.OnMouseWheelDown:=nil;
Form1.OnMouseWheelUp:=nil;
end;
end.