Popup menu : ameliorations de mon code
Bonjour a tous,
J'utilise un popup menu avec le code suivant (qui fonctionne) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Var
Item_1 : TMenuItem;
SubItem_1, SubItem_2, SubItem_3, SubItem_4 : TMenuItem;
I : Integer;
const
NomSubMenu_EMail : Array [1..4] of String=('Informations','Research','Commercial','Formations');
begin
// Effacer tous les éléments de menu
PopupMenu1.Items.Clear;
// Créer les éléments de menu
Item_1 := TMenuItem.Create(PopupMenu1);
// Ajouter au PopupMenu
PopupMenu1.Items.Add(Item_1);
// Affecter à Caption le titre
Item_1.Caption := 'EMail';
// Créer les éléments de submenu
SubItem_1 := TMenuItem.Create(Item_1);
// Ajouter au PopupMenu
Item_1.Add(SubItem_1);
// Affecter à Caption le titre
SubItem_1.Caption := NomSubMenu_EMail[1];
// Créer les éléments de submenu
SubItem_2 := TMenuItem.Create(Item_1);
// Ajouter au PopupMenu
Item_1.Add(SubItem_2);
// Affecter à Caption le titre
SubItem_2.Caption := NomSubMenu_EMail[2];
// Créer les éléments de submenu
SubItem_3 := TMenuItem.Create(Item_1);
// Ajouter au PopupMenu
Item_1.Add(SubItem_3);
// Affecter à Caption le titre
SubItem_3.Caption := NomSubMenu_EMail[3];
// Créer les éléments de submenu
SubItem_4 := TMenuItem.Create(Item_1);
// Ajouter au PopupMenu
Item_1.Add(SubItem_4);
// Affecter à Caption le titre
SubItem_4.Caption := NomSubMenu_EMail[4]; |
Mais est-ce qu'il n'y aurait pas moyen de l’améliorer en minimisant le nombre de ligne avec un code comme le suivant (qui ne fonctionne pas : "Access violation at adress.....") :
Code:
1 2 3 4 5 6 7
|
For I:=1 to 4 do
begin
TMenuItem('SubItem_'+IntToStr(I)).Create(Item_1);
TMenuItem('SubItem_'+IntToStr(I)).Add(Item_1);
TMenuItem('SubItem_'+IntToStr(I)).Caption:=NomSubMenu_EMail[I];
end; |
Par avance, merci d’éclairer ma lanterne.
j'utilise Win7 et delphi2007