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 RadioGroup Item Index während laufzeit setzen (https://www.delphipraxis.net/29235-radiogroup-item-index-waehrend-laufzeit-setzen.html)

Joergie 6. Sep 2004 12:18


RadioGroup Item Index während laufzeit setzen
 
delphi Hilfe:
ItemIndex enthält den Index des Optionsfeldes, das in der Items-Liste markiert ist. (Das erste Feld hat den Wert 0.) Wenn der Benutzer zur Laufzeit Optionsfelder markiert, ändert sich der Wert von ItemIndex entsprechend. Soll nach dem Start der Anwendung bereits ein bestimmtes Optionsfeld markiert sein, weisen Sie das betreffende Feld während der Anwendungsentwicklung ItemIndex zu. Verwenden Sie andernfalls die Voreinstellung für ItemIndex (-1).

Beispiel:
Delphi-Quellcode:
RadioGroup.ItemIndex := 3;
ich setze ItemIndex während der Laufzeit, der zugehörige Button wird aber nicht makiert. :wall: Was kann ich machen, damit diese zu sehen ist.

Danke
~Joerg

easywk 6. Sep 2004 12:44

Re: RadioGroup Item Index während laufzeit setzen
 
Hmm, komisch. Bei mir funktioniert das herzallerliebst. Mache ich eigentlich ständig so. Ist sichergestellt, das die RadioGroup auch enabled ist?

Joergie 6. Sep 2004 13:12

Re: RadioGroup Item Index während laufzeit setzen
 
Die RadioGroup ist enabled. ich habe sie davor nochmal auf enabled gesetzt. funktioniert aber immernoch nicht!! :wall:
~joerg

Stevie 6. Sep 2004 13:21

Re: RadioGroup Item Index während laufzeit setzen
 
Zitat:

Zitat von Joergie
ich setze ItemIndex während der Laufzeit, der zugehörige Button wird aber nicht makiert. :wall: Was kann ich machen, damit diese zu sehen ist.

Wird der Code überhaupt abgearbeitet? (Haltepunkt setzen)
In welcher Methode soll der Code ausgeführt werden?
Wird er eventuell vor der Initialisierung durch die dfm-Datei gesetzt?

Joergie 6. Sep 2004 13:22

Re: RadioGroup Item Index während laufzeit setzen
 
Ja, die Methode wird ausgeführt! Habe ich durch anzeigen des zu setzenden Indizes mit Hilfe eines Labels gemacht!

Die RadioBox wird zur Auswahl genutzt. Beim wiederholten aufruf, möchte ich die vorherige auswahl schon anzeigen!

Zitat:

Stevie: Wird er eventuell vor der Initialisierung durch die dfm-Datei gesetzt?
Das weiß ich nicht. Daran kann es vielleicht liegen! Weiß aber nicht, wie ich es beheben kann!

~joerg

Stevie 6. Sep 2004 13:38

Re: RadioGroup Item Index während laufzeit setzen
 
Zitat:

Zitat von Joergie
Das weiß ich nicht. Daran kann es vielleicht liegen! Weiß aber nicht, wie ich es beheben kann!

Zeich doch ma Quellcode!

Joergie 6. Sep 2004 13:50

Re: RadioGroup Item Index während laufzeit setzen
 
Hier der Quellcode

Delphi-Quellcode:
...
  if Form2.Label1.Caption <> '' then
  begin
    for i := 0 to Form2.RadioGroup1.Index.Count-1 do
    begin
      if Form2.RadioGroup1.Items[i] =
               Form2.Label1.Caption then
      begin
        Form2.RadioGroup.Enabled := true;
        Form2.RadioGroup.ItemIndex := i;
        Form2.Label2.Caption := IntToStr(i); // test, ob methode abgearbeitet wird
      end;
    end; //for
  end; // if
Form2.ShowModal;
Label2 zeigt auch den richtigen Zahlenwert and, welcher ItemIndex zugewiesen werden sollte :coder2:
~joerg

Stevie 6. Sep 2004 13:57

Re: RadioGroup Item Index während laufzeit setzen
 
Mach mal statt der for-Schleife das hier:
Delphi-Quellcode:
Form2.RadioGroup.ItemIndex := Form2.RadioGroup.IndexOf(Form2.Label1.Caption);

Joergie 6. Sep 2004 14:13

Re: RadioGroup Item Index während laufzeit setzen
 
:cheers:
Funktioniert.
Hat auch an meiner eigenen Blödheit gelegen! Ich hatte noch Form2.ShowModal vor der Schleife gehabt!

Danke
~joerg

Stevie 6. Sep 2004 14:24

Re: RadioGroup Item Index während laufzeit setzen
 
Zitat:

Zitat von Joergie
Ich hatte noch Form2.ShowModal vor der Schleife gehabt!

:wall: Das dann nix passiert ist ja kein Wunder... :zwinker:

franktron 6. Sep 2004 14:48

Re: RadioGroup Item Index während laufzeit setzen
 
Wo wir gerade dabei sind bei mir geht auch nihct hier der code

Delphi-Quellcode:
RadioGroup1.ItemIndex:=Value;
Er setzt den Itemindex ab die Anzeige ändert sich nicht

Stevie 6. Sep 2004 14:50

Re: RadioGroup Item Index während laufzeit setzen
 
Ein RadioGroup.Repaint könnte Abhilfe schaffen.

franktron 6. Sep 2004 15:00

Re: RadioGroup Item Index während laufzeit setzen
 
Ne hilft nicht ich hab des Setzten in FormShow ob das ein Prob. macht

Stevie 6. Sep 2004 15:03

Re: RadioGroup Item Index während laufzeit setzen
 
Zitat:

Zitat von franktron
Ne hilft nicht ich hab des Setzten in FormShow ob das ein Prob. macht

Im FormCreate wär es besser aufgehoben.

franktron 6. Sep 2004 15:14

Re: RadioGroup Item Index während laufzeit setzen
 
Geht nicht ist ein Dialog.

Stevie 6. Sep 2004 15:20

Re: RadioGroup Item Index während laufzeit setzen
 
Tja, warum sollte es auch einfach gehen? :mrgreen:
Ok, dann setz die Eigenschaft, bevor der Dialog aufgerufen wird.
Entweder ist er dann schon erzeugt worden, oder du machst es während er erzeugt wird.


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