RAD Studio VCL Reference
|
Lists all child controls.
property Controls [Index: Integer]: TControl;
__property TControl * Controls[int Index];
Controls is an array of all the child controls. These are all controls that list this control as their Parent property. The Controls property is convenient for referring to the children of a control by number rather than name. For example, Controls may be used to iterate over all the child controls.
Don't confuse the Controls property with the Components property. The Controls property lists all the controls that are child windows of the control, while the Components property lists all components that it owns. The form owns all components put on it, and therefore, they appear in the form's Components property list, even when they are child windows of a control on the form.
Controls is a read-only property. To add or delete a child control, use the InsertControl or RemoveControl methods. To move a child control from one parent to another, set the Parent of the child control, as that will handle both the RemoveControl from the original parent and the InsertControl to the new parent.
C++ Examples:
/* This example uses an updown control and a group box on a form, with several controls contained within the group box. When the updown control or is clicked, the controls within the group box are moved in the appropriate direction. */ void __fastcall TForm1::UpDown1Click(TObject *Sender, TUDBtnType Button) { int I; TControl *ChildControl; for (I = 0; I < GroupBox1->ControlCount; I++) { ChildControl = GroupBox1->Controls[I]; if (Button == btNext) ChildControl->Top = ChildControl->Top + 15; else ChildControl->Top = ChildControl->Top - 15; } } void __fastcall TForm1::FormCreate(TObject *Sender) { const TColor colorarray[5] = {clYellow, clGreen, clBlue, clLime, clFuchsia}; GroupBox1->Brush->Color = clRed; for (int i = 0; i < GroupBox1->ControlCount; i++) dynamic_cast<TWinControl *>(GroupBox1->Controls[i])->Brush->Color = colorarray[i]; }
Delphi Examples:
{ This example uses an updown control and a group box on a form, with several controls contained within the group box. When the updown control is clicked, the controls within the group box are moved in the appropriate direction. } procedure TForm1.FormCreate(Sender: TObject); var I: Integer; const colorarray : Array[0..4] of TColor = (clYellow, clGreen, clBlue, clLime, clFuchsia); begin GroupBox1.Brush.Color := clRed; for I:= 0 to GroupBox1.ControlCount -1 do begin TWinControl(GroupBox1.Controls[I]).Brush.Color := colorarray[I]; end; end; procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType); var I: Integer; ChildControl: TControl; begin for I:= 0 to GroupBox1.ControlCount -1 do begin ChildControl := GroupBox1.Controls[I]; if Button = btNext then ChildControl.Top := ChildControl.Top + 15 else ChildControl.Top := ChildControl.Top - 15; end; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|