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.