Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Ist Autocomplete Fenster offen? (https://www.delphipraxis.net/143706-ist-autocomplete-fenster-offen.html)

marcos 21. Nov 2009 16:50


Ist Autocomplete Fenster offen?
 
Hallo,

auf einem Editfeld (TEdit) kann man IAutoComplete2 implementieren. Wenn man dann im Feld schreibt, dann erscheint ein kleines Fenster mit den Vorschlägen.
Ist es möglich zur Laufzeit festzustellen ob das kleine Fenster offen ist? Vielleicht kriegt man ein Ereignis, wann das Fenster geöffnet und geschlossen wird?

Gruß
marcos

toms 21. Nov 2009 17:51

Re: Ist Autocomplete Fenster offen?
 
Hallo

An das Handle des Autocomple Fenster kommst du durch Senden der Nachricht CBEM_GETEDITCONTROL.

Delphi-Quellcode:
SendMessage(DeinEdit.Handle, CBEM_GETEDITCONTROL, 0, 0)
Die Frage stellt sich nun, wie man feststellen kann, ob dieses Fenster sichtbar ist?

Mit IsWindowVisible, GetWindowPlacement (z.B. Höhe des Fensters ermitteln) bin ich leider nicht erfolgreich gewesen.
Vielleicht hat ja sonst noch jemand eine Idee.

PS: Was genau möchtest du denn machen?

marcos 21. Nov 2009 19:49

Re: Ist Autocomplete Fenster offen?
 
Mein Editfeld ist in einem modalen Dialog. In dem Dialog sind OK und Cancel Button so definiert, dass beim Drücken Enter und ESC werden die Buttons automatisch aktiviert (Property Default oder Cancel auf dem Button auf TRUE). Jetzt wenn, das Autocomplete-Fenster erscheint und man mit Enter die Auswahl macht (oder mit ESC die Auswahl abbricht), dann werden auch automatisch die Aktionen für OK oder Cancel Buttons ausgeführt und Dialog wird geschlossen. Mein Ziel ist in dem Fall die Aktionen für OK/Cancel zu unterbinden. Wenn also Autocomplete-Fenster offen ist und man drückt Enter/ESC, dann sollte man in Editfeld bleiben.

marcos

marcos 24. Nov 2009 10:38

Re: Ist Autocomplete Fenster offen?
 
Es gibt ein Interface IAutoCompleteDropDown. In der Delphi 2010 sind die Definitionen vorhanden.

marcos


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz