Einzelnen Beitrag anzeigen

Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

RadioButtons und Checkboxen zur Laufzeit erstellen.

  Alt 28. Mai 2006, 20:51
Hallo,

ich stelle eine Form mit einem Panel und zwei Buttons zur Verfügung. Diese Form fülle ich ganz normal zur Laufzeit mit Komponenten. Nun erstelle ich auf dieser ScrollBox noch eine GroupBox, soweit komme iches hin. Ich lege mehrere von den Groupboxen an. Das funktioniert ja auch ganz wunderbar. Nun möchte ich noch zur Laufzeit entweder Checkboxen oder RadioButtons auf den zur Laufzeit erstellen GroupBoxen anlegen. Wie mache ich das ?

Folgendes habe ich versucht :

Delphi-Quellcode:
{-- Erstellen der Group-Box für die Radio-Buttons --}
  TableKeys := TGroupBox.Create(self);
  TableKeys.Parent := CreateTableScrollBox;
  TableKeys.Name := 'RadioGroup' + IntToStr(counter);
  TableKeys.Caption := '';
  TableKeys.Left := 795;
  TableKeys.Top := kompotop - 2;
  TableKeys.Height := 25;
  TableKeys.Width := 94;
{-- Erstellen des Radio-Buttons für den Primaryschlüssel --}
  FieldPrimary := TRadioButton.Create(self);
  FieldPrimary.Parent := FindComponent('RadioGroup' + IntToStr(counter)); //<--- Hier kommt der Fehler (s.u.)
  FieldPrimary.Name := 'RBFieldPrimary' + IntToStr(counter);
  FieldPrimary.Caption := '';
  FieldPrimary.Top := kompotop;
  FieldPrimary.Left := radioprimary_left;
  FieldPrimary.Height := radiocheck_height;
  FieldPrimary.Width := radiocheck_wdith;
{-- Erstellen des Radio-Buttons für den Index --}
  FieldIndex := TRadioButton.Create(self);
  FieldIndex.Parent := CreateTableScrollBox;
  FieldIndex.Name := 'RBFieldIndex' + IntToStr(counter);
  FieldIndex.Caption := '';
  FieldIndex.Top := kompotop;
  FieldIndex.Left := radioindex_left;
  FieldIndex.Height := radiocheck_height;
  FieldIndex.Width := radiocheck_wdith;
{-- Erstellen des Radio-Buttons für den Unique --}
  FieldUnique := TRadioButton.Create(self);
  FieldUnique.Parent := CreateTableScrollBox;
  FieldUnique.Name := 'RBFieldUnique' + IntToStr(counter);
  FieldUnique.Caption := '';
  FieldUnique.Top := kompotop;
  FieldUnique.Left := radiounique_left;
  FieldUnique.Height := radiocheck_height;
  FieldUnique.Width := radiocheck_wdith;
{-- Erstellen des Radio-Buttons für den --- --}
  FieldStrich := TRadioButton.Create(self);
  FieldStrich.Parent := CreateTableScrollBox;
  FieldStrich.Name := 'RBFieldStrich' + IntToStr(counter);
  FieldStrich.Caption := '';
  FieldStrich.Checked := True;
  FieldStrich.Top := kompotop;
  FieldStrich.Left := radioline_left;
  FieldStrich.Height := radiocheck_height;
  FieldStrich.Width := radiocheck_wdith;
Fehlermeldung : TWinControl ist nicht kompatibel mit TComponent.

Ich möchte damit folgendes Erreichen, wenn die RadioButtons erstellt werden müssen, dann sollen die RadioButtons nur innerhalb dieser Gruppe den Status wechseln.

Vielleicht habe ich ja auch einen Denkfehler drin, dann sagt mir bitte wie ich das ganze realisieren kann.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat