Bonjour
Je suis en train de crée dynamiquement un TPopupMenu qui doit être égal a un autre mais avec quelques option de plus.
Maintenant je fais ça:
Mais je crois qu'il doit avoir une façon meilleur de le faire. J'ai essayer avec Assign mais ça provoque l'erreur "Cannot assign a TPopupMenu to a TPopupMenu". Le code que j'utilise pour ça c'est
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 var aItem: TMenuItem; procedure AddMenu(aParent, Item: TMenuItem); var i: integer; begin for i := 0 to Item.Count - 1 do begin aItem := TMenuItem.Create(aParent); aItem.Caption := Item[i].Caption; aItem.Hint := Item[i].Hint; aItem.ImageIndex := Item[i].ImageIndex; aItem.OnClick := Item[i].OnClick; aParent.Add(aItem); if Item.Count <> 0 then AddMenu(aItem, Item[i]); end; end; begin if not Assigned(FPopup) then Exit; FOldPopup := FGrid.PopupMenu; AddMenu(FPopup.Items, FGrid.PopupMenu.Items); FGrid.PopupMenu := FPopup; end;
J'ai aussi essayer ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 begin .... FPopup.Assign(FGrid.PopupMenu); ..... end;
mais il ne fait pas c'est que je veux exactement (il crée une nouvelle option de menu sans caption la quelle a toutes les outres options de menu).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 begin .... FPopup.Items.Add(FGrid.PopupMenu.Items); ..... end;
Aucune idée pour améliorer mon code?
Merci en avance
Salut!
Partager