From Clomosy Docs
No edit summary |
No edit summary |
||
| Line 24: | Line 24: | ||
'''Example:'''<br> | '''Example:'''<br> | ||
:'''Base Syntax''' | |||
var | |||
MyForm:TclStyleForm; | |||
BtnSample:TclButton; | |||
MyVertBox:TClVertScrollBox; | |||
MyExpander1,MyExpander2:TclExpander; | |||
MyLayout1, MyLayout2:TclLayout; | |||
MyLabel1, MyLabel2:TclLabel; | |||
Procedure BtnSampleClick; | |||
Begin | |||
MyExpander1.IsExpanded := Not MyExpander1.IsExpanded; | |||
MyExpander2.IsExpanded := Not MyExpander2.IsExpanded; | |||
End; | |||
Procedure MyExpanderClick; | |||
begin | |||
ShowMessage(TclExpander(MyForm.clSender).Text); | |||
TclExpander(MyForm.clSender).IsExpanded := Not TclExpander(MyForm.clSender).IsExpanded; | |||
End; | |||
begin | |||
MyForm := TclStyleForm.Create(Self); | |||
MyForm.clSetStyle(MyForm.LightSB); | |||
BtnSample:= MyForm.AddNewButton(MyForm,'BtnSample','Add'); | |||
BtnSample.Align := alTop; | |||
MyForm.AddNewEvent(BtnSample,tbeOnClick,'BtnSampleClick'); | |||
MyVertBox:= MyForm.AddNewVertScrollBox(MyForm,'MyVertBox'); | |||
MyVertBox.Align := alClient; | |||
MyExpander1:= MyForm.AddNewExpander(MyVertBox,'MyExpander1',<nowiki>''</nowiki>); | |||
MyExpander1.Align := alTop; | |||
MyExpander1.Height := 100; | |||
MyForm.AddNewEvent(MyExpander1,tbeOnClick,'MyExpanderClick'); | |||
MyLayout1:= MyForm.AddNewLayout(MyExpander1,'MyLayout1'); | |||
MyLayout1.Align := alClient; | |||
MyLabel1:= MyForm.AddNewLabel(MyLayout1,'MyLabel1','My Expander Label Caption'); | |||
MyLabel1.Align := alTop; | |||
MyExpander2:= MyForm.AddNewExpander(MyVertBox,'MyExpander2',<nowiki>''</nowiki>); | |||
MyExpander2.Align := alTop; | |||
MyExpander2.Height := 100; | |||
MyForm.AddNewEvent(MyExpander2,tbeOnClick,'MyExpanderClick'); | |||
MyLayout2:= MyForm.AddNewLayout(MyExpander2,'MyLayout2'); | |||
MyLayout2.Align := alClient; | |||
MyLabel2:= MyForm.AddNewLabel(MyLayout2,'MyLabel2','My Expander Label Caption 2'); | |||
MyLabel2.Align := alTop; | |||
MyForm.Run; | |||
end; | |||
:'''TRObject Syntax''' | |||
var | |||
MyForm:TclStyleForm; | |||
BtnSample:TclButton; | |||
MyVertBox:TClVertScrollBox; | |||
MyExpander1,MyExpander2:TclExpander; | |||
MyLayout1, MyLayout2:TclLayout; | |||
MyLabel1, MyLabel2:TclLabel; | |||
void BtnSampleClick; | |||
{ | |||
MyExpander1.IsExpanded = Not MyExpander1.IsExpanded; | |||
MyExpander2.IsExpanded = Not MyExpander2.IsExpanded; | |||
} | |||
void MyExpanderClick; | |||
{ | |||
ShowMessage(TclExpander(MyForm.clSender).Text); | |||
TclExpander(MyForm.clSender).IsExpanded = Not TclExpander(MyForm.clSender).IsExpanded; | |||
} | |||
{ | |||
MyForm = TclStyleForm.Create(Self); | |||
MyForm.clSetStyle(MyForm.LightSB); | |||
BtnSample= MyForm.AddNewButton(MyForm,'BtnSample','Add'); | |||
BtnSample.Align = alTop; | |||
MyForm.AddNewEvent(BtnSample,tbeOnClick,'BtnSampleClick'); | |||
MyVertBox= MyForm.AddNewVertScrollBox(MyForm,'MyVertBox'); | |||
MyVertBox.Align = alClient; | |||
MyExpander1= MyForm.AddNewExpander(MyVertBox,'MyExpander1',<nowiki>''</nowiki>); | |||
MyExpander1.Align = alTop; | |||
MyExpander1.Height = 100; | |||
MyForm.AddNewEvent(MyExpander1,tbeOnClick,'MyExpanderClick'); | |||
MyLayout1= MyForm.AddNewLayout(MyExpander1,'MyLayout1'); | |||
MyLayout1.Align = alClient; | |||
MyLabel1= MyForm.AddNewLabel(MyLayout1,'MyLabel1','My Expander Label Caption'); | |||
MyLabel1.Align = alTop; | |||
MyExpander2= MyForm.AddNewExpander(MyVertBox,'MyExpander2',<nowiki>''</nowiki>); | |||
MyExpander2.Align = alTop; | |||
MyExpander2.Height = 100; | |||
MyForm.AddNewEvent(MyExpander2,tbeOnClick,'MyExpanderClick'); | |||
MyLayout2= MyForm.AddNewLayout(MyExpander2,'MyLayout2'); | |||
MyLayout2.Align = alClient; | |||
MyLabel2= MyForm.AddNewLabel(MyLayout2,'MyLabel2','My Expander Label Caption 2'); | |||
MyLabel2.Align = alTop; | |||
MyForm.Run; | |||
} | |||
'''Output:'''<br> | '''Output:'''<br> | ||
[[File:TclExpanderScreen.png|frameless|350px]] | [[File:TclExpanderScreen.png|frameless|350px]] | ||
Revision as of 06:42, 8 February 2024
Included in Clomosy's library, TclExpander is an extensible panel component. TclExpander offers a panel that can hide or open its contents with the click of a title bar by the user. It is also referred to as the accordion content structure.
It is defined as variable follows.
MyExpander :TclExpander;
It is created with the "AddNewExpander" property inside the form. It gives different features to this variable with standard features.
MyExpander:= MyForm.AddNewExpander(MyForm,'MyExpander1',''); MyExpander.Align := alTop; MyExpander.Height := 100; MyExpander.Width := 100;
If the application is to be displayed as a drop-down menu when it is run, the IsExpanded property is set to true as follows.
MyExpander.IsExpanded := True;
The header part of the TclExpanded object can be accessed with the following line of code. Here, whichever field on the form is clicked on, the information of that object is taken.
TclExpander(MyForm.clSender).Text
Likewise, the following code can be used to change the visibility of which TclExpanded object is clicked.
TclExpander(MyForm.clSender).IsExpanded := Not TclExpander(MyForm.clSender).IsExpanded;
Example:
- Base Syntax
var
MyForm:TclStyleForm;
BtnSample:TclButton;
MyVertBox:TClVertScrollBox;
MyExpander1,MyExpander2:TclExpander;
MyLayout1, MyLayout2:TclLayout;
MyLabel1, MyLabel2:TclLabel;
Procedure BtnSampleClick;
Begin
MyExpander1.IsExpanded := Not MyExpander1.IsExpanded;
MyExpander2.IsExpanded := Not MyExpander2.IsExpanded;
End;
Procedure MyExpanderClick;
begin
ShowMessage(TclExpander(MyForm.clSender).Text);
TclExpander(MyForm.clSender).IsExpanded := Not TclExpander(MyForm.clSender).IsExpanded;
End;
begin
MyForm := TclStyleForm.Create(Self);
MyForm.clSetStyle(MyForm.LightSB);
BtnSample:= MyForm.AddNewButton(MyForm,'BtnSample','Add');
BtnSample.Align := alTop;
MyForm.AddNewEvent(BtnSample,tbeOnClick,'BtnSampleClick');
MyVertBox:= MyForm.AddNewVertScrollBox(MyForm,'MyVertBox');
MyVertBox.Align := alClient;
MyExpander1:= MyForm.AddNewExpander(MyVertBox,'MyExpander1','');
MyExpander1.Align := alTop;
MyExpander1.Height := 100;
MyForm.AddNewEvent(MyExpander1,tbeOnClick,'MyExpanderClick');
MyLayout1:= MyForm.AddNewLayout(MyExpander1,'MyLayout1');
MyLayout1.Align := alClient;
MyLabel1:= MyForm.AddNewLabel(MyLayout1,'MyLabel1','My Expander Label Caption');
MyLabel1.Align := alTop;
MyExpander2:= MyForm.AddNewExpander(MyVertBox,'MyExpander2','');
MyExpander2.Align := alTop;
MyExpander2.Height := 100;
MyForm.AddNewEvent(MyExpander2,tbeOnClick,'MyExpanderClick');
MyLayout2:= MyForm.AddNewLayout(MyExpander2,'MyLayout2');
MyLayout2.Align := alClient;
MyLabel2:= MyForm.AddNewLabel(MyLayout2,'MyLabel2','My Expander Label Caption 2');
MyLabel2.Align := alTop;
MyForm.Run;
end;
- TRObject Syntax
var
MyForm:TclStyleForm;
BtnSample:TclButton;
MyVertBox:TClVertScrollBox;
MyExpander1,MyExpander2:TclExpander;
MyLayout1, MyLayout2:TclLayout;
MyLabel1, MyLabel2:TclLabel;
void BtnSampleClick;
{
MyExpander1.IsExpanded = Not MyExpander1.IsExpanded;
MyExpander2.IsExpanded = Not MyExpander2.IsExpanded;
}
void MyExpanderClick;
{
ShowMessage(TclExpander(MyForm.clSender).Text);
TclExpander(MyForm.clSender).IsExpanded = Not TclExpander(MyForm.clSender).IsExpanded;
}
{
MyForm = TclStyleForm.Create(Self);
MyForm.clSetStyle(MyForm.LightSB);
BtnSample= MyForm.AddNewButton(MyForm,'BtnSample','Add');
BtnSample.Align = alTop;
MyForm.AddNewEvent(BtnSample,tbeOnClick,'BtnSampleClick');
MyVertBox= MyForm.AddNewVertScrollBox(MyForm,'MyVertBox');
MyVertBox.Align = alClient;
MyExpander1= MyForm.AddNewExpander(MyVertBox,'MyExpander1','');
MyExpander1.Align = alTop;
MyExpander1.Height = 100;
MyForm.AddNewEvent(MyExpander1,tbeOnClick,'MyExpanderClick');
MyLayout1= MyForm.AddNewLayout(MyExpander1,'MyLayout1');
MyLayout1.Align = alClient;
MyLabel1= MyForm.AddNewLabel(MyLayout1,'MyLabel1','My Expander Label Caption');
MyLabel1.Align = alTop;
MyExpander2= MyForm.AddNewExpander(MyVertBox,'MyExpander2','');
MyExpander2.Align = alTop;
MyExpander2.Height = 100;
MyForm.AddNewEvent(MyExpander2,tbeOnClick,'MyExpanderClick');
MyLayout2= MyForm.AddNewLayout(MyExpander2,'MyLayout2');
MyLayout2.Align = alClient;
MyLabel2= MyForm.AddNewLabel(MyLayout2,'MyLabel2','My Expander Label Caption 2');
MyLabel2.Align = alTop;
MyForm.Run;
}