From Clomosy Docs

No edit summary
No edit summary
Line 8: Line 8:
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.


:''Basic Syntax:''
:'''Base Syntax'''


  Var   
  Var   
Line 47: Line 47:
  end;
  end;


:''TRObject Syntax:''
:'''TRObject Syntax:'''


  Var   
  Var   

Revision as of 06:58, 6 February 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)

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.

Base 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;
}

See Also