Текущий архив: 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.44 MB
Время: 0.009 c