Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Прокрутка DBGrid's не активизиоуя их [D7, XP]


Alex_C ©   (2008-11-26 18:47:00) 

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


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

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


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

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


sniknik   (2008-11-26 19:16:00) [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;


KilkennyCat   (2008-11-26 18:59:00) [4]

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


sniknik   (2008-11-26 18:55:00) [5]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо