Bonjour sdpc62
Ces deux snippets valent pour installer un menu sur la form2 ou la form3.
These two snippets are valid for installing a menu on form2 or form3.
¨For what you want to do, the principle remains the same, you just have to adapt it to your needs
¨Pour ce que tu veux faire, le principe reste le même, il te suffira de l'adapter à tes besoins
Créer des menus sur une form autre que la form principale
Create menus on a form other than the main form
procedure Form1_OnShow (Sender: string; Action: string); // event OnShow
var
MyItem1: TMenuItem;
MyItem2: TMenuItem;
MySubItem3: TMenuItem;
MenuForm2: TMainMenu;
begin
MyItem1 := TMenuItem.Create (Form2);
MyItem1.Caption := 'MyItem1';
MyItem1.OnClick := @MenuClick1;
MyItem2 := TMenuItem.Create (Form2);
MyItem2.Caption := 'MyItem2';
MySubItem3 := TMenuItem.Create (Form2);
MySubItem3.Caption := 'Submenu';
MySubItem3.OnClick := @MenuClick3;
MenuForm2 := TMainMenu.Create(Form2); // Create MainMenu on Form2
MenuForm2.Items.Add(MyItem1); // you can use ADD or INSERT
MenuForm2.Items.Insert(0, MyItem2); // you can use ADD or INSERT
MyItem2.Add(MySubItem3);
end;
procedure MenuClick1 (Sender: string);
begin
ShowMessage('Hello from MyItem1');
end;
procedure MenuClick3 (Sender: string);
begin
ShowMessage('Hello from Submenu');
end;
begin
end.
Autre formule :
procedure CreateMenu;
var MainMenu:TMainMenu;
Item:TMenuItem;
begin
MainMenu:=TMainMenu.Create(Form3);
Form3.Menu := MainMenu;
Item:=TMenuItem.Create(Form3);
Item.Caption := 'Bingo!';
MainMenu.Items.Add(Item);
end;
begin
CreateMenu;
end.
Dans cet exemple, on crée le menu principal sur Form3. Cela peut être utile si le formulaire de départ est utilisé pour le formulaire de connexion.
In this example, we create the main menu on Form3. This can be useful if the starting form is used for the login form.
JB