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

Вниз

Как наиболее изящно отловить WM_MOUSEWHEEL?   Найти похожие ветки 

 
Курдль ©   (2005-09-20 13:17) [0]

Приветствую аборигенов и гостей форума!

Необходимо заставить Control ("TCntlGrid") скроллироваться прокруткой мышиного колеса. Как это наиболее изящно исполнить?

С уважением, Я.


 
Leonid Troyanovsky ©   (2005-09-20 14:13) [1]


> Курдль ©   (20.09.05 13:17)  

> Необходимо заставить Control ("TCntlGrid") скроллироваться
> прокруткой мышиного колеса. Как это наиболее изящно исполнить?



 By Peter Below


procedure TForm1.GridMouseWheel(Sender: TObject; Shift: TShiftState;
 WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
const
 codes: array [Boolean] of Cardinal = (VK_UP, VK_DOWN);
var
 code: Cardinal;
begin
 Handled := true;
 code := codes[WheelDelta < 0];
 (sender as TWincontrol).Perform( WM_KEYDOWN, code, 0 );
 (sender as TWincontrol).Perform( WM_KEYUP, code, 0 );
end;

type
 TGridCracker = class(TDBCtrlGrid);

procedure TForm1.FormCreate(Sender: TObject);
begin
 TGridCracker(DBCtrlGrid1).OnMouseWheel := GridMousewheel;
end;


--
Regards, LVT.


 
Курдль ©   (2005-09-20 17:19) [2]

Спасибо! Нашел еще способ - при помощи TApplicationEvents


procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var
 i: SmallInt;
begin
 inherited;
 if Msg.message = WM_MOUSEWHEEL then
 begin
   Msg.message := WM_KEYDOWN;
   Msg.lParam := 0;
   i := HiWord(Msg.wParam) ;
   if i > 0 then
     Msg.wParam := VK_UP
   else
     Msg.wParam := VK_DOWN;

   Handled := False;
 end;
end;



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

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

Наверх




Память: 0.47 MB
Время: 0.052 c
3-1124864767
Jeka
2005-08-24 10:26
2005.10.09
бд через инет..


14-1127036002
Holy
2005-09-18 13:33
2005.10.09
Пушинский вор


1-1126777483
JTAG
2005-09-15 13:44
2005.10.09
Ув. коллеги подкажите плз как сделать чтобы у исполняемого файла


2-1125050340
Fay
2005-08-26 13:59
2005.10.09
Что такое $ALIGN ваще и $ALIGN 8 в частности


8-1116517391
Expl
2005-05-19 19:43
2005.10.09
Двигать изображение в TImage