![]() |
ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Hallo,
ich habe eine TComboBox und dort soll jeweils eine Aktion beim OnMouseEnter und OnMouseLeave ausgelößt werden. Leider funktionieren die beiden Events nicht so, wie gewünscht: Bewegt man die Maus (langsam) in die ComboBox wird OnMouseEnter ausgelößt, wenn man den Rahmen oder den Pfeilbereicht der Combobox trift. Berührt man das in der ComboBox eingebettete Edit-Feld wird schon OnMouseLeave ausgelößt, obwohl man ja eigentlich noch in der Combobox ist. So mach die Implementation doch keinen Sinn. Wie kann man das fixen? Komme ich iregendwie an das eingebettete Edit-Feld ran und kann dort OnMouseEnter/OnMouseLeave abfragen? Danke! |
AW: ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Hat niemand eine Idee? *push*
|
AW: ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Der Fokus wechselt ja. Frage im Event einfach die Koordinaten ab
|
AW: ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Nur ein Ansatz:
Delphi-Quellcode:
Zieht man die Maus so allerdings recht schnell aus dem Edit der Combobox heraus, wird das Ereignis nicht ausgelöst. Aber vielleicht kannst Du mit dem EditHandle ja noch etwas anderes anfangen.
type
TComboBox = class(StdCtrls.TComboBox) private procedure CMMouseLeave(var Msg: TMessage); message CM_MOUSELEAVE; end; TForm2 = class(TForm) ... implementation {$R *.dfm} procedure TComboBox.CMMouseLeave(var Msg: TMessage); begin if WindowFromPoint(Mouse.CursorPos) <> EditHandle then inherited; end; |
AW: ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Zitat:
|
AW: ComboBox OnMouseEnter/OnMouseLeave funktioniert nicht
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz