From Clomosy Docs

Revision as of 11:54, 22 August 2024 by ClomosyManager (talk | contribs)

"TclMenuFrame" is a component frame type in Clomosy. This frame can be used as a menu component and helps create menu options in the application.

TclMenuFrame usage principles are as follows:

Feature Use of Definition
TClMenuFrame TstSideMenu : TClMenuFrame; A variable belonging to the TclMenuFrame class is created.
AddNewMenuFrame TstSideMenu := MyForm.AddNewMenuFrame(MyForm,'TstSideMenu'); A new Menu Frame is added to the form.
Align TstSideMenu.Align := alContents; Alignment adjustment is made.
MenuBar TstSideMenu.MenuBar.Width := 250; TstSideMenu.MenuBar.Height := 250; It defines the main menu of the application and provides users with access to application functions. With this, adjustments such as height and width can be made.
Visible TstSideMenu.Visible := False; Visibility settings can be adjusted. If it is true it is visible, if it is false it is not visible.
ClMenuPosition TstSideMenu.ClMenuPosition := clLeft; Menu Frame position is set.(Default => clRight)
VertScrollBox TstSideMenu.VertScrollBox The MenuFrame provides an area with a vertical scrollbar within. This allows objects placed inside it to be created and displayed vertically one below the other.

Example:

TRObject Syntax
Var
MyForm : TclForm;
TstSideMenu : TClMenuFrame;
ShowBtn,menuBtn: TClProButton;

void showMenuFrame;
{
TstSideMenu.Visible = True;
clRTMethod(TstSideMenu, 'BringTofront');
}

void showShowBtn;
{
TstSideMenu.Visible = False;
clRTMethod(menuBtn, 'BringTofront');
}

{
MyForm = TclForm.Create(Self);
TstSideMenu = MyForm.AddNewMenuFrame(MyForm,'TstSideMenu');
TstSideMenu.Align = alContents;
TstSideMenu.MenuBar.Width = 250;
TstSideMenu.Visible = False;
TstSideMenu.ClMenuPosition = clLeft;   //Default clRight 

menuBtn= MyForm.AddNewProButton(MyForm,'menuBtn','...');
clComponent.SetupComponent(menuBtn,'{"Align":"Left",
"BackgroundColor":"#7295ed", "TextColor":"#ffffff",
"TextBold":"yes","RoundHeight":10,"RoundWidth":10}');
MyForm.AddNewEvent(menuBtn,tbeOnClick,'showMenuFrame');

ShowBtn= MyForm.AddNewProButton(TstSideMenu.VertScrollBox,'ShowBtn','Show');
clComponent.SetupComponent(ShowBtn,'{"Height":40,"MarginTop":10,"Align":"Top","TextHorizontalAlign":"center","BackgroundColor":"#fc6713", "TextColor":"#ffffff","TextBold":"yes","RoundHeight":10,"RoundWidth":10}');
MyForm.AddNewEvent(ShowBtn,tbeOnClick,'showShowBtn');

MyForm.Run;  
}
Base Syntax
Var
 MyForm : TclForm;
 TstSideMenu : TClMenuFrame;
 ShowBtn,menuBtn: TClProButton;

procedure showMenuFrame;
begin
 TstSideMenu.Visible := True;
 clRTMethod(TstSideMenu, 'BringTofront');
end;

procedure showShowBtn;
begin
 TstSideMenu.Visible := False;
 clRTMethod(menuBtn, 'BringTofront');
end;

Begin
 MyForm := TclForm.Create(Self);
 TstSideMenu := MyForm.AddNewMenuFrame(MyForm,'TstSideMenu');
 TstSideMenu.Align := alContents;
 TstSideMenu.MenuBar.Width := 250;
 TstSideMenu.Visible := False;
 TstSideMenu.ClMenuPosition := clLeft;   //Default clRight 

 menuBtn:= MyForm.AddNewProButton(MyForm,'menuBtn','...');
 clComponent.SetupComponent(menuBtn,'{"Align":"Left",
 "BackgroundColor":"#7295ed", "TextColor":"#ffffff",
 "TextBold":"yes","RoundHeight":10,"RoundWidth":10}');
 MyForm.AddNewEvent(menuBtn,tbeOnClick,'showMenuFrame');

 ShowBtn:= MyForm.AddNewProButton(TstSideMenu.VertScrollBox,'ShowBtn','Show');
clComponent.SetupComponent(ShowBtn,'{"Height":40,"MarginTop":10,"Align":"Top","TextHorizontalAlign":"center","BackgroundColor":"#fc6713", "TextColor":"#ffffff","TextBold":"yes","RoundHeight":10,"RoundWidth":10}');
 MyForm.AddNewEvent(ShowBtn,tbeOnClick,'showShowBtn');

 MyForm.Run;  
End;