Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Mausrad funktionert nicht sauber in DBGrid

  Alt 1. Apr 2005, 11:13
Die Messages vom Mausrad müssen wohl einer Spezialbehandlung unterzogen werden.
Delphi-Quellcode:
procedure THauptForm.HandleOnMessage(var Msg: TMsg; var Handled: Boolean);
var
   phnd : HWND;
begin
   {Mouse wheel behaves strangely with dgbgrids - this proc sorts this out}

   case Msg.message of

      WM_MOUSEWHEEL:
      begin
         if (Screen.ActiveForm.ActiveControl <> nil) and
            (Screen.ActiveForm.ActiveControl.ClassName = 'TDBGrid') then
         begin
            Msg.message := WM_KEYDOWN;
            Msg.lParam := 0;
            if Msg.wParam > 0 then
               Msg.wParam := VK_UP
            else
               Msg.wParam := VK_DOWN;

            Handled := False;
         end;
      end;
   end;
end;
Im OnCreate Event muss dieser Message-Handler dann noch "eingeklinkt" werden:
   Application.OnMessage := self.HandleOnMessage
Andreas
  Mit Zitat antworten Zitat