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

Вниз

Как запретить стандартную прокрутку от колеса мыши?   Найти похожие ветки 

 
Тфьу   (2006-03-24 13:36) [0]

У меня собственный обработчик на колесо мыши. Все компоненты его слушаются, особенно, если им отключить ScrollBar. Но есть такая штука, как DevExpress, которая в cxDBGrid даже при отключенном скролле реагирует на колесо мыши. Перехват WM_MOUSEWHEEL в Application.OnMessage ничего не дал. Хотя мышу перехватывает...

Пример:
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin
 if Msg.message = WM_MOUSEWHEEL then
 begin
   if (Msg.wParam=-7864320)or(Msg.wParam=-23592960)or(Msg.wParam=-15728640) then//down
   begin
     ProgressBar1.Position:=ProgressBar1.Position-1;
   end;
   if (Msg.wParam=7864320)or(Msg.wParam=23592960)or(Msg.wParam=15728640) then//up
   begin
     ProgressBar1.Position:=ProgressBar1.Position+1;
   end;
 end
 else
   inherited;
end;


 
Чародей ©   (2006-03-24 20:00) [1]

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
 i: SmallInt;
begin
 {Mouse wheel behaves strangely with dgbgrids - this proc sorts this out}
 if Msg.message = WM_MOUSEWHEEL then
 begin
   Msg.message := WM_KEYDOWN;
   Msg.lParam := 0;
   i := HiWord(Msg.wParam);
   if i > 0 then
      ProgressBar1.Position:=ProgressBar1.Position+1
     //Msg.wParam := VK_UP
   else
      ProgressBar1.Position:=ProgressBar1.Position-1;
     //Msg.wParam := VK_DOWN;

   Handled := False;
 end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnMessage := Form1.AppMessage;
end;

Если надо чтоб колесо воздействовало на BDGride, открой коментарии.



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

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

Наверх




Память: 0.47 MB
Время: 0.04 c
3-1146207610
Некто
2006-04-28 11:00
2006.06.25
X*Y*H


2-1149669364
XTD
2006-06-07 12:36
2006.06.25
А можно ли цменить свет(стиль) прокрутки ListBox ???


3-1146224798
nv
2006-04-28 15:46
2006.06.25
OleContainer сохранение, открытие из/в TBlobField(ClientDataSet)


2-1149476015
kolbasa
2006-06-05 06:53
2006.06.25
Выборка из таблицы


1-1147687909
Гоша
2006-05-15 14:11
2006.06.25
Одна копия программы