AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Combobox nicht 1. Geige

Ein Thema von Privateer3000 · begonnen am 26. Jun 2006 · letzter Beitrag vom 28. Jun 2006
Antwort Antwort
Seite 2 von 2     12
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Combobox nicht 1. Geige

  Alt 26. Jun 2006, 22:56
danke für die genauere erläuterungen. ich kann z.zt. nicht viel schreiben da ich eisbeutelchen an die bäckchen halten muss
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Alt 26. Jun 2006, 23:12     Erstellt von Privateer3000
Dieser Beitrag wurde von alcaeus gelöscht. - Grund: Bitte in Zukunft auf die Wortwahl achten. Danke.
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.859 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Combobox nicht 1. Geige

  Alt 26. Jun 2006, 23:16
DGL-Luke wollte glaube ich nur sagen, da0 Tobias' Vorschlag Gefahren birgt. Ich finde aber es wäre einen Versuch wert.
Markus Kinzler
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#13

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 10:55
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.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
Daniel G
(Gast)

n/a Beiträge
 
#14

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 11:03
@Sidorion: Wieder was gelernt.
@Privateer3000: Ich nenne Luke ja auch gerne mal "Klugscheißer", aber dein letzter Beitrag verfehlt sein Ziel wohl meilenweit...
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#15

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 11:16
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
Stephan B.
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 13:21
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.
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 13:29
kleine Frage ZUM Thema funktioniert es jetzt ?!?
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#18

Re: Combobox nicht 1. Geige

  Alt 27. Jun 2006, 14:51
ä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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#19

Re: Combobox nicht 1. Geige

  Alt 28. Jun 2006, 13:14
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.
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:56 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