Einzelnen Beitrag anzeigen

d6lpz

Registriert seit: 26. Mär 2008
73 Beiträge
 
Delphi 6 Professional
 
#6

Re: DBLookupCombobox Scrollen

  Alt 8. Apr 2008, 07:54
Hallo,

Zitat von ereetzer:
Hallo,
das Thema ist ja schon etwas älter, aber da ich gerade auch das Problem hatte in der DBLookupComboBox mit der Maus zu scrollen
und dazu hier keine Lösung außer eine eigene Komponente extra dafür gefunden hatte, hier mal die Lösung dazu: (also die Umsetzung von Union´s Vorschlag)


Als erstes Mal im OnCreate Ereignis des Hauptformulares wie folgt deklarieren:

  Application.OnMessage := self.HandleMousewheel; Dann eine Prozedur einfügen:

Delphi-Quellcode:
procedure TForm1.HandleMousewheel(var Msg: TMsg; var Handled: Boolean);
begin
   case Msg.message of
      WM_MOUSEWHEEL:
      begin
         if (Screen.ActiveForm.ActiveControl <> nil) and
            (Screen.ActiveForm.ActiveControl.ClassName = 'TDBLookupComboBox') 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;
Dann sollte das klappen.
Danke für Deine Lösung, muß ich gleich mal probieren.

Ich habe noch eine andere Frage bezüglich einer DBLookupListbox.
Vielleicht hast Du ja dafür auch eine Erklärung für mich.
Wieso wird das Clickereignis auf einen DBLookupListbox mehrfach ausgelöst?
Kennst Du dieses Verhalten?
Dirk
  Mit Zitat antworten Zitat