Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Mit Radiobuttons Editfelder hinzufügen (https://www.delphipraxis.net/203358-mit-radiobuttons-editfelder-hinzufuegen.html)

KomischerKautz 11. Feb 2020 10:33

Delphi-Version: 7

Mit Radiobuttons Editfelder hinzufügen
 
Hallo!
Ich bin absoluter Delphi-Neuling und suche nun schon seit Tagen nach einer Antwort. Ich möchte mit dem Aktivieren von Radiobuttons Editfelder hinzufügen.
Sprich wenn Radiobutton 1 geklickt wird, taucht ein Feld auf, wenn man den Zweiten klickt, ein weiteres etc.
Hat jemand eine Idee wie ich das am Geschicktesten lösen könnte?:?:

Viele Grüße!

AuronTLG 11. Feb 2020 10:37

AW: Mit Radiobuttons Editfelder hinzufügen
 
Du fügst von vornherein alle Editfelder ein, die du benötigst und setzt je nach gedrücktem RadioButton den Wert "Visible" der entsprechenden Edits auf True oder False.

KomischerKautz 11. Feb 2020 10:40

AW: Mit Radiobuttons Editfelder hinzufügen
 
Füge ich das für jedes Feld dann in FormCreate ein?

AuronTLG 11. Feb 2020 10:50

AW: Mit Radiobuttons Editfelder hinzufügen
 
Die Editfelder kannst du direkt auf Design-Ebene einfügen und positionieren.

Dann kannst du im OnClick-Ereignis der Radiobuttons die Sichtbarkeit der Edits schalten.

Nehmen wir an, du hast auf deiner Form 3 Radiobuttons und 3 Edits und du willst Radiobutton1 geklickt -> Edit1 sichtbar, Radiobutton2 geklickt -> Edit1 & Edit2 sichtbar etc, dann sähe das z.B. so aus:

Im OnClick von RadioButton1 steht:

Code:
Edit1.Visible := True;
Edit2.Visible :=False;
Edit3.Visible := False;
Im OnClick von RadioButton2 steht:

Code:
Edit1.Visible := True;
Edit2.Visible := True;
Edit3.Visible := False
Das ist so ziemlich die simpelste Möglichkeit, das umzusetzen. Im OnCreate der Form musst du nichts dafür machen. Das spielt sich alles in den OnClick der RadioButtons ab.

himitsu 11. Feb 2020 11:50

AW: Mit Radiobuttons Editfelder hinzufügen
 
Wie willst du im OnCreate etwas machen, wenn da der Nutzer noch garnicht die Radiobuttons drücken konnte?
Oder handelt es sich hier um zwei Formulare, was jemand in seinem Post dann hätte auch mit erwähnen hätte können.

Das Einzige was dort ginge, wäre die Edits schonmal unsichtbar zu erstellen (falls man sie nicht schon im FormDesigner draufpappen möchte) und sie dann später im OnChange sichtbar zu machen.


Man kann auch ein gemeinsames OnChange-Event für alle RadioButtons verwenden und dann aus den Controls den Status auslesen, z.B.:
Delphi-Quellcode:
Edit1.Visible := RadioButton1.Checked;
Edit2.Visible := RadioButton1.Checked or RadioButton2.Checked;
Edit3.Visible := RadioButton1.Checked or ...;

// oder
Edit1.Visible := RadioGroup1.ItemIndex >= 1;
Edit2.Visible := RadioGroup1.ItemIndex >= 2;
Edit3.Visible := RadioGroup1.ItemIndex >= 3;

// oder
...


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