Ist das Popup-Menü geöffnet?


Ist das Popup-Menü geöffnet?
Unter Verwendung der WM_MENUSELECT Meldung des Formulars wird nicht funktionieren, überprüfen Sie, ob
Das Popup ist geöffnet. Einfach weil das übergeordnete Element des Popup nicht die
Form (überprüfen Sie die Popup-Methode der TPopupMenu). Ein Workaround ist die Verwendung
Aufruf der api selbst:
Typ
TForm1 = class(TForm)
...
Procedure FormMouseDown (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
Private
IsMenuOpen: Boolean;
Procedure WMMENUSELECT (Var Message: TWMMENUSELECT); Nachricht WM_MENUSELECT;
Procedure TForm1.WMMENUSELECT (Var Message: TWMMENUSELECT);
beginnen
erbte;
IsMenuOpen: nicht = ((Meldung. MenuFlag und $FFFF > 0) und
(Meldung. Menü = 0));
Ende;
Procedure TForm1.FormMouseDown (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
beginnen
Wenn Button = MbRight then
mit Do ClientToScreen (Punkt (X, Y))
TrackPopupMenuEx (PopupMenu1.Handle, TPM_LEFTALIGN, X, Y,
Self.Handle, Nil);
Ende;









Ist das Popup-Menü geöffnet?


Ist das Popup-Menü geöffnet? : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Ist das Popup-Menü geöffnet?
Unter Verwendung der WM_MENUSELECT Meldung des Formulars wird nicht funktionieren, überprüfen Sie, ob
Das Popup ist geöffnet. Einfach weil das übergeordnete Element des Popup nicht die
Form (überprüfen Sie die Popup-Methode der TPopupMenu). Ein Workaround ist die Verwendung
Aufruf der api selbst:
Typ
TForm1 = class(TForm)
...
Procedure FormMouseDown (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
Private
IsMenuOpen: Boolean;
Procedure WMMENUSELECT (Var Message: TWMMENUSELECT); Nachricht WM_MENUSELECT;
Procedure TForm1.WMMENUSELECT (Var Message: TWMMENUSELECT);
beginnen
erbte;
IsMenuOpen: nicht = ((Meldung. MenuFlag und $FFFF > 0) und
(Meldung. Menü = 0));
Ende;
Procedure TForm1.FormMouseDown (Sender: TObject; Button: TMouseButton;
Verschiebung: TShiftState; X, Y: Integer);
beginnen
Wenn Button = MbRight then
mit Do ClientToScreen (Punkt (X, Y))
TrackPopupMenuEx (PopupMenu1.Handle, TPM_LEFTALIGN, X, Y,
Self.Handle, Nil);
Ende;


Ist das Popup-Menü geöffnet?

Ist das Popup-Menü geöffnet? : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Ist das Popup-Menü geöffnet?
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung