![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
mouse_event [D7, WinXP]
pomashok © (2004-12-01 11:20:00)Привет! Возникла такая необходимость:
1. Как проверить программно какое событие происходит MouseWheelUP или MouseWheelDown?
2. Как послать сообщение об эмуляции вращения колесика мышки (скажем через SendMessage может быть ;) )?
pomashok (2004-12-01 14:11:00) [1]spasibo :)
WondeRu (2004-12-01 13:51:00) [2]procedure Application1.OnMessage
(var Msg: TMsg; var Handled: Boolean) ;
var
i: SmallInt;
begin
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;
или
pulbic
procedure MouseWheel(var Message: TMessage); message WM_MOUSEWHEEL;
procedure MouseWheel(var Message: TMessage);
begin
Message.Msg := WM_KEYDOWN;
Message.lParam := 0;
if Message.WParam > 0 then
Message.WParam := VK_UP
else
Message.WParam := VK_DOWN;
SendMessage(Handle,Message.Msg,Message.WParam,Message.LParam);
end;
TUser (2004-12-01 13:40:00) [3]
> по WM_MOUSEWHEEL (жми F1) у меня справки нету ;(
См. Help -> Win32SDK
pomashok (2004-12-01 13:03:00) [4]по WM_MOUSEWHEEL (жми F1)у меня справки нету ;(
может есть ссылочка или кусок кода?
WondeRu (2004-12-01 12:49:00) [5]pomashok (01.12.04 11:20)
Как проверить программно какое событие происходит
если в твоем приложении, то используй TAplication Events, событие WM_MOUSEWHEEL (жми F1)
а если во всей системе хочешь ловить, то используй DirectInput
а послылать событие от колеса запросто той же WM_MOUSEWHEEL