Einzelnen Beitrag anzeigen

Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TRadioButton zur Laufzeit ändern

  Alt 19. Aug 2009, 02:16
Zitat von Lannes:
Hallo,

ich vermute das bei der Anzeige des Formulars der Focus automatisch(ein Element bekommt immer den Focus) auf einen RadioButton gesetzt wird. Bekommt ein RadioButton den Focus wird die Eigenschaft Checked automatisch auf True gesetzt.

Teste mal folgendes:
Delphi-Quellcode:
Setup.LabeledEdit1.Text:= Verzeichnis;
Setup.LabeledEdit1.SetFocus; //<----- !
Setup.RadioButton1.Checked:=Exact;
Setup.RadioButton3.Checked:=LongPlay;
Hallo,

der Focus war ganz normal beim ersten Element: In meinem Fall LabeledEdit1. Das SetFocus bringt übrigens eine Exception, da das Fenster nicht angezeigt ist. Die Idee ist gut, klappt aber somit nicht.

Ich habe jetzt eine unschöne Lösung gefunden. Ich habe festgestellt, dass sich die TRadioButtons im geöffneten Fenster sehr wohl bearbeiten lassen. Ich habe daher mein Setup-Formular um entsprechende Eigenschaften erweitert. Vor dem Aufruf weise ich denen Werte zu.
Bei OnShow werden die Werte dann übernommen und den TRadioButtons zugewiesen. Bei Close muss ich diesen Weg dann wieder umgekehrt gehen. Nach der Rückgabe des Focus ans Hauptformular lese ich dann die Werte wieder aus. Nicht schön, sehr umständlich aber es funktioniert.

Falls jemand eine elegantere Methode kennt: Bitte hier posten. Ich lerne gern dazu.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat