Est menu contextuel ouvrir ?


Est menu contextuel ouvrir ?
à l'Aide de la WM_MENUSELECT message de la forme ne fonctionne pas pour vérifier si
le popup est ouvert. Tout simplement parce que le parent de la fenêtre contextuelle n'est pas la
forme (vérifier la popup méthode de TPopupMenu). Une solution de contournement consiste à utiliser
l'appel d'api-vous :
type
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp ...
& nbsp & nbsp procédure FormMouseDown(Sender: TObject Button: TMouseButton
& ! & ! & ! & ! & ! & nbsp Shift: TShiftState X, Y: Entier)
private
& nbsp & nbsp IsMenuOpen: Boolean
& nbsp & nbsp procédure WMMENUSELECT(var message: TWMMENUSELECT) message WM_MENUSELECT
procedure TForm1.WMMENUSELECT(var message: TWMMENUSELECT)
begin
& nbsp & nbsp hérité
& nbsp & nbsp IsMenuOpen := not ((message.MenuFlag et $FFFF > 0) et
& ! & ! & ! & nbsp (message.Menu = 0))
fin
procedure TForm1.FormMouseDown(Sender: TObject Button: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Entier)
begin
& nbsp & nbsp si le Bouton = mbRight puis
& ! & ! & ! & nbsp avec ClientToScreen(Point(X, Y)) do
& ! & ! & ! & ! & ! & nbsp TrackPopupMenuEx(PopupMenu1.Poignée, TPM_LEFTALIGN, X, Y,
& ! & ! & ! & ! & ! & ! & ! & nbsp Auto.Poignée, nil)
fin









Est menu contextuel ouvrir ?


Est menu contextuel ouvrir ? : Plusieurs milliers de conseils pour vous faciliter la vie.


Est menu contextuel ouvrir ?
a l'Aide de la WM_MENUSELECT message de la forme ne fonctionne pas pour verifier si
le popup est ouvert. Tout simplement parce que le parent de la fenetre contextuelle n'est pas la
forme (verifier la popup methode de TPopupMenu). Une solution de contournement consiste a utiliser
l'appel d'api-vous :
type
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp ...
& nbsp & nbsp procedure FormMouseDown(Sender: TObject Button: TMouseButton
& ! & ! & ! & ! & ! & nbsp Shift: TShiftState X, Y: Entier)
private
& nbsp & nbsp IsMenuOpen: Boolean
& nbsp & nbsp procedure WMMENUSELECT(var message: TWMMENUSELECT) message WM_MENUSELECT
procedure TForm1.WMMENUSELECT(var message: TWMMENUSELECT)
begin
& nbsp & nbsp herite
& nbsp & nbsp IsMenuOpen := not ((message.MenuFlag et $FFFF > 0) et
& ! & ! & ! & nbsp (message.Menu = 0))
fin
procedure TForm1.FormMouseDown(Sender: TObject Button: TMouseButton
& nbsp & nbsp Shift: TShiftState X, Y: Entier)
begin
& nbsp & nbsp si le Bouton = mbRight puis
& ! & ! & ! & nbsp avec ClientToScreen(Point(X, Y)) do
& ! & ! & ! & ! & ! & nbsp TrackPopupMenuEx(PopupMenu1.Poignee, TPM_LEFTALIGN, X, Y,
& ! & ! & ! & ! & ! & ! & ! & nbsp Auto.Poignee, nil)
fin


Est menu contextuel ouvrir ?

Est menu contextuel ouvrir ? : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation