AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TGroupbox, Tag property

Ein Thema von Gutelo · begonnen am 24. Apr 2014 · letzter Beitrag vom 25. Apr 2014
 
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: TGroupbox, Tag property

  Alt 25. Apr 2014, 05:10
Ich würde das ganz anders angehen:

1. Schreibe eine Procedure, die alle GroupBoxes unsichtbar macht:
Delphi-Quellcode:
Procedure TFormMain.GroupBoxenUnsichtbar;
begin
  Group1.Visible := False;
  Group2.Visible := False;
  Group3.Visible := False;
  Group4.Visible := False;
  Group5.Visible := False;
end;
Dann schreibst du dir eine Ereignisbehandlung für OnClick deiner RadioGroup:
Delphi-Quellcode:
Procedure TFormMain.Radio_WasWeisIchClick(Sender: TObject);
begin
  GroupBoxenUnsichtbar;
  Case Radio_WasWeisIch.ItemIndex Of
   1 : Group1.Visible := True;
   2 : Group2.Visible := True;
   3 : Group3.Visible := True;
   4 : Group4.Visible := True;
   5 : Group5.Visible := True;
  End;
end;
Kommen nun weitere GroupBoxen hinzu, trägst du die einfach in diese beiden Proceduren ein.

Alternativ könntest du diese GroupBoxen auch in einer Objektliste verwalten ...
Delphi-Quellcode:
  PRIVATE { Private-Deklarationen }

   MyObjectList : Generics.Collections.TObjectList<TGroupBox>;
   ...

Procedure TFormMain.FormCreate(Sender: TObject);
begin
  ...
  MyObjectList := Generics.Collections.TObjectList<TGroupBox>.Create;
  ...
end;
... und eine Methode schreiben, um die Objektliste zu befüllen:
Delphi-Quellcode:
Procedure TFormMain.MyObjectListFill;
begin
  MyObjectList.Add(Group1);
  MyObjectList.Add(Group2);
  MyObjectList.Add(Group3);
  MyObjectList.Add(Group4);
  MyObjectList.Add(Group5);
end;
Dann wäre Radio_WasWeisIch.Items analog zu MyObjektList.Items und die Methoden sähen wie folgt aus:
Delphi-Quellcode:
Procedure TFormMain.GroupBoxenUnsichtbar;
Var
  i : Integer;
begin
  For i := 0 TO MyObjectList.Count -1 DO
    MyObjectList.Items[i].Visible := False;
end;

Procedure TFormMain.Radio_WasWeisIchClick(Sender: TObject);
begin
  GroupBoxenUnsichtbar;
  MyObjectList.Items[Radio_WasWeisIch.ItemIndex].Visible := True;
end;
... oder gleich alles in einer Procedure:
Delphi-Quellcode:
Procedure TFormMain.Radio_WasWeisIchClick(Sender: TObject);
Var
  i : Integer;
begin
  For i := 0 TO MyObjectList.Count -1 DO
    MyObjectList.Items[i].Visible := False;
  MyObjectList.Items[Radio_WasWeisIch.ItemIndex].Visible := True;
end;
Hinweis: Alles ungetestet ...

Geändert von Perlsau (25. Apr 2014 um 05:13 Uhr) Grund: Hinweis auf ungetestet
  Mit Zitat antworten Zitat
 


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 21:15 Uhr.
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