From Clomosy Docs

Revision as of 13:25, 13 November 2023 by ClomosyManager (talk | contribs)

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)

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.

Basic Syntax:
Var  
 MyForm:TclForm;
 mainPnl : TclProPanel;
 testBtn : TClProButton;
 i : Integer;
 objectName:string;

 procedure GetName(getObject:String);
 begin
   TClProButton(MyForm.clFindComponent(getObject)).Caption := objectName+'+'; 
 end;

 procedure BtnOnClick;
 begin 
   objectName := TClProButton(Myform.Clsender).Caption;
   GetName(objectName);
 end;

begin
 MyForm:=TclForm.Create(self);
 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'); 

  MyForm.AddNewEvent(testBtn,tbeOnClick,'BtnOnClick');
 end;

 MyForm.Run;
end;
TRObject Syntax:
Var  
 MyForm:TclForm;
 mainPnl : TclProPanel;
 testBtn : TClProButton;
 i : Integer;
 objectName:string;

 void GetName(getObject:String);
 {
   TClProButton(MyForm.clFindComponent(getObject)).Caption = objectName+'+'; 
 }

 void BtnOnClick;
 { 
   objectName = TClProButton(Myform.Clsender).Caption;
   GetName(objectName);
 }

{
 MyForm=TclForm.Create(self);
 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.AddNewEvent(testBtn,tbeOnClick,'BtnOnClick');
 }
 
 MyForm.Run;
}