Delphi-PRAXiS
Seite 2 von 2     12   

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 nicht 1. Geige (https://www.delphipraxis.net/72186-combobox-nicht-1-geige.html)

EDatabaseError 26. Jun 2006 21:56

Re: Combobox nicht 1. Geige
 
danke für die genauere erläuterungen. ich kann z.zt. nicht viel schreiben da ich eisbeutelchen an die bäckchen halten muss ;-)

mkinzler 26. Jun 2006 22:16

Re: Combobox nicht 1. Geige
 
DGL-Luke wollte glaube ich nur sagen, da0 Tobias' Vorschlag Gefahren birgt. Ich finde aber es wäre einen Versuch wert.

Sidorion 27. Jun 2006 09:55

Re: Combobox nicht 1. Geige
 
Das Problem liegt in der ComboBox selber vergraben. Diese hat schon von Windows her die Items, diese sind aber erst verfügbar, wenn das Ding ein gültiges Handle hat. Dieses kriegt sie allerdings erst, wenn die Form komplett sichtbar ist. Daher kann man eine ComboBox erst focussieren, wenn sie auch angezeigt wird. Um solche Probleme zu vermeiden greift Delphi zu dem Trick, eben nicht die Box, sondern ein bel. anderes Eleement zu focusieren.
Eine Chance, die ich sehe, ist die Box zu focusieren, NACHDEM sie voll sichtbar wurde. Dazu überschreiben wir die Methode CreateHandle von TCustomComboBox, in der wir ein Ereignis auslösen. Auf dieses Ereignis kann man dann reagieren und den Focus setzen.

p.s.: das ist auch der Grund, warum man ComboBoxen erst dann items verpassen kann, wenn sie ein gültiges Handle haben.

Daniel G 27. Jun 2006 10:03

Re: Combobox nicht 1. Geige
 
@Sidorion: Wieder was gelernt. :thumb:
@Privateer3000: Ich nenne Luke ja auch gerne mal "Klugscheißer", aber dein letzter Beitrag verfehlt sein Ziel wohl meilenweit... :roll:

Sharky 27. Jun 2006 10:16

Re: Combobox nicht 1. Geige
 
Zitat:

Zitat von Privateer3000
@ DGL-Luke
du Superschlauer hast wohl alles mit dem Löffel gefressen?!
...
Klar soweit?

Hai Privateer3000,

ändere bitte deinen Ton in der Delphi-PRAXiS :warn:

Privateer3000 27. Jun 2006 12:21

Re: Combobox nicht 1. Geige
 
Danke Sidorion!
Das war was genaues!!
Nochmal zu meiner Wortwahl,
das war wohl nicht nicht hart wie der Angriff von DGL
der !nicht! entfernt wurde.
Es steht wohl keinem zu, zu urteilen warum
und weshalb man Fragen stellt.

Egal wieviel Posts im Avatar stehen.

EDatabaseError 27. Jun 2006 12:29

Re: Combobox nicht 1. Geige
 
kleine Frage ZUM Thema funktioniert es jetzt ?!?

DGL-luke 27. Jun 2006 13:51

Re: Combobox nicht 1. Geige
 
ähm... sorry, wenns so rüberkam, aber ich hatte auf keine fall die absicht, dich irgendwie zu veräppeln! Ich hatte beim ersten Post wegen deines Schreibstils gemeint, du wärst noch Anfänger, und deswegen EDBErrs Aussagen etwas konkretisiert(Seine Antwort darauf ist auch ganz schön). Beim zweiten Mal hab ich eben kurz vorm posten noch gesehen, wie viele posts du schon hast...

nachdem wir das problem jetzt kennen:

Es könnte auch helfen, wenn du einen timer mit folgender prozedur erstellst:

Delphi-Quellcode:
procedure CBTimerTimer(Sender: TObject);
begin
(Sender as TTimer).Enabled := false;
Combobox1.SetFocus;
end;
Und den timer im Formshow aktivierst. Du musst dann mit dem Interval ein wenig rumprobieren, damit die Combobox ohne merkbare Verzögerung aktiviert wird. Natürlich ist das dann Symptombehandlung, erspart dir aber, TComboBox abzuleiten.

@Daniel G: Bitte Vierauge, da hab ich mich schon dran gewöhnt.

Privateer3000 28. Jun 2006 12:14

Re: Combobox nicht 1. Geige
 
Danke
diese version mit dem Timer funktioniert tatsächlich
eine leichte verzögerung reicht aus.
Ich denke aber mal auch das dies Rechnerabhängig sein wird.
Als zweite Lösung ist auch richtig
die box zur Laufzeit zu überschreiben.
Allerdings ist mir unbekannt wie sich andere Plattformen
also ältere Winversionen da verhalten.
Kann es auch nicht testen.

Noch mal zum Disput: für mich ist das erledigt.
Will keinen Streit.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr.
Seite 2 von 2     12   

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-2025 by Thomas Breitkreuz