From Clomosy Docs
No edit summary |
No edit summary |
||
| Line 7: | Line 7: | ||
'''Example:'''<br> | '''Example:'''<br> | ||
In the example, we can determine which of the multiple buttons created using the clSender feature we clicked on and change the button text using the clFindComponent property. | In the example, we can determine which of the multiple buttons created using the clSender feature we clicked on and change the button text using the clFindComponent property. | ||
:'''TRObject Syntax:''' | |||
Var | |||
MyForm:TclForm; | |||
mainPnl : TclProPanel; | |||
testBtn : TClProButton; | |||
i,j : Integer; | |||
Combo1 : TClComboBox; | |||
void ComboSelected; | |||
var | |||
strKey : String; | |||
{ | |||
strKey = Combo1.GetItemIndex(Combo1.ItemIndex); | |||
if (Combo1.ItemIndex <> '0') | |||
{ | |||
TClProButton(MyForm.clFindComponent(strKey)).Caption = strKey+'+'; | |||
TClProButton(MyForm.clFindComponent(strKey)).Enabled = false; | |||
} | |||
} | |||
{ | |||
MyForm=TclForm.Create(self); | |||
Combo1 = MyForm.AddNewComboBox(MyForm,'Combo1'); | |||
Combo1.Align = alMostTop; | |||
Combo1.Height = 20; | |||
Combo1.Margins.Top=10; | |||
Combo1.Margins.Left =MyForm.clWidth/9; | |||
Combo1.Margins.Right =MyForm.clWidth/9; | |||
Combo1.AddItem('Please select the button to be marked.','0'); | |||
for (j = 1 to 5) | |||
Combo1.AddItem('testBtn'+IntToStr(j),IntToStr(j)); | |||
MyForm.AddNewEvent(Combo1,tbeOnChange,'ComboSelected'); | |||
mainPnl=MyForm.AddNewProPanel(MyForm,'mainPnl'); | |||
clComponent.SetupComponent(mainPnl,'{"Align" : "Center","Width" :200, | |||
"Height":300,"RoundHeight":10,"RoundWidth":10,"BorderColor":"#3a32a8","BorderWidth":2}'); | |||
for (i = 0 to 4) | |||
{ | |||
testBtn = MyForm.AddNewProButton(mainPnl,'testBtn'+IntToStr(i+1),<nowiki>''</nowiki>); | |||
clComponent.SetupComponent(testBtn,'{"caption":"testBtn'+IntToStr(i+1)+'","Align" : "Top","MarginTop":5,"MarginLeft":5,"MarginRight":5, | |||
"Height":50}'); | |||
MyForm.SetImage(testBtn,'https://clomosy.com/demos/foodInformationBox.png'); | |||
} | |||
MyForm.Run; | |||
} | |||
:'''Base Syntax''' | :'''Base Syntax''' | ||
| Line 57: | Line 107: | ||
MyForm.Run; | MyForm.Run; | ||
end; | end; | ||
= See Also= | = See Also= | ||
* [[Controls| Controls]] | * [[Controls| Controls]] | ||
Revision as of 10:56, 23 August 2024
To find another component under a component or form, clFindComponent is used. This method allows you to search for a specific named subcomponent. This allows making changes to the properties of the found component.
MyForm.clFindComponent(xObjectName : String): TComponent;
Within this feature, a string parameter is accepted, and this parameter is the name of the variable.
Example:
In the example, we can determine which of the multiple buttons created using the clSender feature we clicked on and change the button text using the clFindComponent property.
- TRObject Syntax:
Var
MyForm:TclForm;
mainPnl : TclProPanel;
testBtn : TClProButton;
i,j : Integer;
Combo1 : TClComboBox;
void ComboSelected;
var
strKey : String;
{
strKey = Combo1.GetItemIndex(Combo1.ItemIndex);
if (Combo1.ItemIndex <> '0')
{
TClProButton(MyForm.clFindComponent(strKey)).Caption = strKey+'+';
TClProButton(MyForm.clFindComponent(strKey)).Enabled = false;
}
}
{
MyForm=TclForm.Create(self);
Combo1 = MyForm.AddNewComboBox(MyForm,'Combo1');
Combo1.Align = alMostTop;
Combo1.Height = 20;
Combo1.Margins.Top=10;
Combo1.Margins.Left =MyForm.clWidth/9;
Combo1.Margins.Right =MyForm.clWidth/9;
Combo1.AddItem('Please select the button to be marked.','0');
for (j = 1 to 5)
Combo1.AddItem('testBtn'+IntToStr(j),IntToStr(j));
MyForm.AddNewEvent(Combo1,tbeOnChange,'ComboSelected');
mainPnl=MyForm.AddNewProPanel(MyForm,'mainPnl');
clComponent.SetupComponent(mainPnl,'{"Align" : "Center","Width" :200,
"Height":300,"RoundHeight":10,"RoundWidth":10,"BorderColor":"#3a32a8","BorderWidth":2}');
for (i = 0 to 4)
{
testBtn = MyForm.AddNewProButton(mainPnl,'testBtn'+IntToStr(i+1),'');
clComponent.SetupComponent(testBtn,'{"caption":"testBtn'+IntToStr(i+1)+'","Align" : "Top","MarginTop":5,"MarginLeft":5,"MarginRight":5,
"Height":50}');
MyForm.SetImage(testBtn,'https://clomosy.com/demos/foodInformationBox.png');
}
MyForm.Run;
}
- Base Syntax
Var
MyForm:TclForm;
mainPnl : TclProPanel;
testBtn : TClProButton;
i,j : Integer;
Combo1 : TClComboBox;
procedure ComboSelected;
var
strKey : String;
begin
strKey := Combo1.GetItemIndex(Combo1.ItemIndex);
if Combo1.ItemIndex <> '0' then
begin
TClProButton(MyForm.clFindComponent(strKey)).Caption := strKey+'+';
TClProButton(MyForm.clFindComponent(strKey)).Enabled := false;
end;
end;
begin
MyForm :=TclForm.Create(self);
Combo1 := MyForm.AddNewComboBox(MyForm,'Combo1');
Combo1.Align := alMostTop;
Combo1.Height := 20;
Combo1.Margins.Top:=10;
Combo1.Margins.Left :=MyForm.clWidth/9;
Combo1.Margins.Right :=MyForm.clWidth/9;
Combo1.AddItem('Please select the button to be marked.','0');
for j := 1 to 5 do
Combo1.AddItem('testBtn'+IntToStr(j),IntToStr(j));
MyForm.AddNewEvent(Combo1,tbeOnChange,'ComboSelected');
mainPnl:=MyForm.AddNewProPanel(MyForm,'mainPnl');
clComponent.SetupComponent(mainPnl,'{"Align" : "Center","Width" :200,
"Height":300,"RoundHeight":10,"RoundWidth":10,"BorderColor":"#3a32a8","BorderWidth":2}');
for i := 0 to 4 do
begin
testBtn := MyForm.AddNewProButton(mainPnl,'testBtn'+IntToStr(i+1),'');
clComponent.SetupComponent(testBtn,'{"caption":"testBtn'+IntToStr(i+1)+'","Align" : "Top","MarginTop":5,"MarginLeft":5,"MarginRight":5,
"Height":50}');
MyForm.SetImage(testBtn,'https://clomosy.com/demos/foodInformationBox.png');
end;
MyForm.Run;
end;