Dynamique dans les menus contextuels


Comment faire pour mettre à jour dynamiquement les éléments de popupmenu ?
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp PopupMenu1: TPopupMenu
& ! & ! & ! & nbsp ...
& ! & ! & ! & nbsp procédure FormMouseDown(Sender: TObject Button: TMouseButton
& ! & ! & ! & ! & ! & nbsp Shift: TShiftState X, Y: Integer)
& nbsp & nbsp privé
& ! & ! & ! & nbsp procédure PopupClick(Sender: TObject)
...
procedure TForm1.FormMouseDown(Sender: TObject Button: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Entier)
begin
& nbsp & nbsp si le Bouton = mbRight puis
& nbsp & nbsp commencer
& ! & ! & ! & nbsp avec PopupMenu1, Les éléments n'
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp // Suppression de tous les éléments
& ! & ! & ! & ! & ! & nbsp tandis que Count > 0 do
& ! & ! & ! & ! & ! & ! & ! & nbsp Supprimer(0)
& ! & ! & ! & ! & ! & nbsp // Ajouter le premier Élément
& ! & ! & ! & ! & ! & nbsp Ajouter(NewItem('Article 1', 0, False, True, PopupClick, 0, 'Item1'))
& ! & ! & ! & ! & ! & nbsp // Ajouter un second Élément

& ! & ! & ! & ! & ! & nbsp Ajouter(NewItem ('Point 2', 0, False, True, PopupClick, 0, 'Item2'))
& ! & ! & ! & ! & ! & nbsp // Ajout d'un séparateur
& ! & ! & ! & ! & ! & nbsp Ajouter(Saut de ligne)
& ! & ! & ! & ! & ! & nbsp // Ajout d'un troisième élément avec deux sous-menus
& ! & ! & ! & ! & ! & nbsp Ajouter(NewSubMenu ('Point 3', 0, 'Item3', [NewItem('Point 1', 0,
& ! & ! & ! & ! & ! & ! & ! & nbsp False, True, PopupClick, 0, 'SubItem1'),
& ! & ! & ! & ! & ! & ! & ! & nbsp NewItem('Point 2', 0, False, True, PopupClick, 0,
& ! & ! & ! & ! & ! & ! & ! & ! 'SubItem2')]))
& ! & ! & ! & ! & ! & nbsp avec ClientToScreen(Point(X, Y)) do
& ! & ! & ! & ! & ! & ! & ! & nbsp Popup(X, Y)
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin
procedure TForm1.PopupClick(Sender: TObject)
begin
& nbsp & nbsp // ici d'une façon stupide de savoir quel menu est le déclenchement de la onclick
& nbsp & nbsp // l'événement. L'utilisation de la balise de propriété à la place.
& nbsp & nbsp cas (Expéditeur TMenuItem).MenuIndex de
& ! & ! & ! & nbsp 0: ShowMessage('Article 1')
& ! & ! & ! & nbsp 1: ShowMessage('la Rubrique 2')
& nbsp & nbsp fin
fin









Dynamique dans les menus contextuels


Dynamique dans les menus contextuels : Plusieurs milliers de conseils pour vous faciliter la vie.


Comment faire pour mettre a jour dynamiquement les elements de popupmenu ?
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp PopupMenu1: TPopupMenu
& ! & ! & ! & nbsp ...
& ! & ! & ! & nbsp procedure FormMouseDown(Sender: TObject Button: TMouseButton
& ! & ! & ! & ! & ! & nbsp Shift: TShiftState X, Y: Integer)
& nbsp & nbsp prive
& ! & ! & ! & nbsp procedure PopupClick(Sender: TObject)
...
procedure TForm1.FormMouseDown(Sender: TObject Button: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Entier)
begin
& nbsp & nbsp si le Bouton = mbRight puis
& nbsp & nbsp commencer
& ! & ! & ! & nbsp avec PopupMenu1, Les elements n'
& ! & ! & ! & nbsp commencer
& ! & ! & ! & ! & ! & nbsp // Suppression de tous les elements
& ! & ! & ! & ! & ! & nbsp tandis que Count > 0 do
& ! & ! & ! & ! & ! & ! & ! & nbsp Supprimer(0)
& ! & ! & ! & ! & ! & nbsp // Ajouter le premier Element
& ! & ! & ! & ! & ! & nbsp Ajouter(NewItem('Article 1', 0, False, True, PopupClick, 0, 'Item1'))
& ! & ! & ! & ! & ! & nbsp // Ajouter un second Element

& ! & ! & ! & ! & ! & nbsp Ajouter(NewItem ('Point 2', 0, False, True, PopupClick, 0, 'Item2'))
& ! & ! & ! & ! & ! & nbsp // Ajout d'un separateur
& ! & ! & ! & ! & ! & nbsp Ajouter(Saut de ligne)
& ! & ! & ! & ! & ! & nbsp // Ajout d'un troisieme element avec deux sous-menus
& ! & ! & ! & ! & ! & nbsp Ajouter(NewSubMenu ('Point 3', 0, 'Item3', [NewItem('Point 1', 0,
& ! & ! & ! & ! & ! & ! & ! & nbsp False, True, PopupClick, 0, 'SubItem1'),
& ! & ! & ! & ! & ! & ! & ! & nbsp NewItem('Point 2', 0, False, True, PopupClick, 0,
& ! & ! & ! & ! & ! & ! & ! & ! 'SubItem2')]))
& ! & ! & ! & ! & ! & nbsp avec ClientToScreen(Point(X, Y)) do
& ! & ! & ! & ! & ! & ! & ! & nbsp Popup(X, Y)
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
fin
procedure TForm1.PopupClick(Sender: TObject)
begin
& nbsp & nbsp // ici d'une façon stupide de savoir quel menu est le declenchement de la onclick
& nbsp & nbsp // l'evenement. L'utilisation de la balise de propriete a la place.
& nbsp & nbsp cas (Expediteur TMenuItem).MenuIndex de
& ! & ! & ! & nbsp 0: ShowMessage('Article 1')
& ! & ! & ! & nbsp 1: ShowMessage('la Rubrique 2')
& nbsp & nbsp fin
fin


Dynamique dans les menus contextuels

Dynamique dans les menus contextuels : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation