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

Вниз

Редирект сообщения MouseWheel   Найти похожие ветки 

 
EgorovAlex ©   (2010-02-25 13:54) [0]

Использую такой код:

//TApplicationEvents.OnMessage procedure TMainForm.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
var   mousePos: TPoint;
 wc: TWinControl;
begin
 //mouse wheel scrolling for the control under the mouse
 if Msg.message = WM_MOUSEWHEEL then
 begin
   mousePos.X := Word(Msg.lParam);
   mousePos.Y := HiWord(Msg.lParam);
   wc := FindVCLWindow(mousePos);
   if wc = nil then
     Handled := True
   else
   if wc.Handle <> Msg.hwnd then
   egin
     SendMessage(wc.Handle, WM_MOUSEWHEEL, Msg.wParam, Msg.lParam);
     Handled := True;
   end;
 end;
end;

Он работает так - прокручивается тот контрол при повороте колеса мыши, над которым находится мышь, а не тот, который имеет в данные момент фокус ввода. Это всё работает прекрасно пока я не кидаю на форму TVirtualStringTree. C ним это не проходит :( И на него сообщение не редиректится и когда он активен не редиректятся сообщения другим контролам. Может кто знает почему это может быть?


 
12 ©   (2010-02-25 14:04) [1]

ну это.. окно его как-то ворует сообщение?


 
KilkennyCat ©   (2010-02-25 14:12) [2]

Почему ворует? он первый его получает.



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

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

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1303285883
virex(work)
2011-04-20 11:51
2011.09.25
ADMClient - andriod клиент форума


15-1307305794
Юрий
2011-06-06 00:29
2011.09.25
С днем рождения ! 6 июня 2011 понедельник


10-1175769168
zhurik
2007-04-05 14:32
2011.09.25
Прочитать из Excel данные


2-1307120302
IPranker
2011-06-03 20:58
2011.09.25
Как получить кол-во элементов в ординал типе?


6-1241804128
DVM
2009-05-08 21:35
2011.09.25
Определить режим работы сокета: блок. или неблок. в Winsock