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

Вниз

Прокрутка DBGrid s не активизиоуя их   Найти похожие ветки 

 
Alex_C   (2008-11-26 18:47) [0]

Собственно такая задача:
есть програма, сстоящая из нескольких форм. На формах расположены DBGrid (хотя в идеале надо для любого компонета). Как сделать так, что бы пользователь перемещая мышку над формами, но не активизируя их щелчком мыши мог бы колесиком мыши прокручивать содержимое тех DBGrid, над поторыми находится мышь.


 
sniknik ©   (2008-11-26 18:55) [1]

перенаправлять событие от главной формы в тот компонент над которым находится мышь... должно получится.


 
KilkennyCat ©   (2008-11-26 18:59) [2]

ловим сообщения MouseEnter (WM_ENTER) и  MouseWheel (WM_MOUSEWHEEL)


 
sniknik ©   (2008-11-26 19:16) [3]

пример для одной формы и сколько угодно гридов/другого на ней, активировать конкретный грид/... не придется главное мыш над ним держать

private
 procedure WMMouseWheel(var Mess: TMessage); message WM_MOUSEWHEEL;

...
procedure TForm1.WMMouseWheel(var Mess: TMessage);
var
 Control: TControl;
begin
 inherited;
 Control:= ControlAtPos(ScreenToClient(Mouse.CursorPos), false, true);
 if (Control <> nil) and (Control is TWinControl) then
   PostMessage(TWinControl(Control).Handle, WM_MOUSEWHEEL, Mess.WParam, Mess.LParam);
end;


 
Alex_C   (2008-11-26 19:20) [4]

Ок спасибо за советы!
Только сообщение должно быть
procedure CMMouseEnter (var message: TMessage); message CM_MOUSEENTER;
А так все работет как надо!


 
Alex_C   (2008-11-26 19:21) [5]

То sniknik: а это вообще отличная идея! Большое спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
15-1226981467
Slider007
2008-11-18 07:11
2009.01.11
С днем рождения ! 18 ноября 2008 вторник


15-1226583210
codemaster
2008-11-13 16:33
2009.01.11
Проигрыватель


2-1227864512
Golden
2008-11-28 12:28
2009.01.11
Позиция в таблице


11-1196634700
Koss (345-824-826)
2007-12-03 01:31
2009.01.11
Lazarus for WinCe как востоновить окно ???


15-1226297587
Slider007
2008-11-10 09:13
2009.01.11
С днем рождения ! 10 ноября 2008 понедельник