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 Combobox- Ereignis OnClick löst zu oft aus (https://www.delphipraxis.net/93569-combobox-ereignis-onclick-loest-zu-oft-aus.html)

little-x 7. Jun 2007 15:32


Combobox- Ereignis OnClick löst zu oft aus
 
Hallo,


habe eine Combobox mit (zur Laufzeit) ca. 2000 Einträgen.

Die Eigenschaft style hat den Wert csDropDown.

Bei den Einträgen handelt es sich um 3- bis 6-stellige Ganzzahlen. Wann immer ein Eintrag ausgewählt wird, sollen anhand des Eintragwertes diverse DB-Operationen durchgeführt werden, was jeweils einige Sekunden dauert.

Das hatte ich erst ans Ereignis OnSelect rangehängt.

Das gab aber Probleme; dieses Ereignis löst das Ereignis während der manuellen Tastatureingabenach jedem Tastenanschlag aus, sofern es deckende Einträge gibt (Beispiel: gebe ich "50" ein, macht er automatisch "50002"). Das ist aber nicht Sinn der Sache.

Also habe ich die DB-Operationen ans OnKeyDown- Ereignis gehängt mit der Bedingung, dass der Key die <Enter>-Taste ist. Das ist auch ok. Man kann den Wert in Ruhe zu Ende eingeben ohne dass ständig neu geladen wird, und bei <Enter> wird geladen.

Jetzt soll aber auch geladen werden, wenn man per Maus einen Eintrag auswählt. Also habe ich meine DB-Operationen zusätzlich ans OnClick- Ereignis gehängt. Funktioniert auch natürlich. Das Problem ist nur: Das OnClick- Ereignis löst ebenfalls aus, wenn, wie oben beschrieben, während der Tastatureingabe ein deckender Eintrag gefunden wird, somit bin ich an meinem Ursprungsproblem angekommen.

Kann ich irgendwie dafür sorgen, dass mein OnClick-Ereignis auch NUR beim Mausklick auslöst???

Viele Grüße...

Reinhard Kern 7. Jun 2007 17:34

Re: Combobox- Ereignis OnClick löst zu oft aus
 
Zitat:

Zitat von little-x
Hallo,


habe eine Combobox mit (zur Laufzeit) ca. 2000 Einträgen.
...........
Kann ich irgendwie dafür sorgen, dass mein OnClick-Ereignis auch NUR beim Mausklick auslöst???

Viele Grüße...

Hallo,

ich schätze, das ist zu kompliziert gedacht: lass die Bearbeitung bei OnClick und schalte einfach die Eigenschaft AutoComplete ab, dann wird während der Eingabe nicht mehr nach passenden Einträgen gesucht.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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