Frage

Gibt es eine Möglichkeit in Delphi 7 um herauszufinden, ob ein Pop-up-Menü sichtbar (auf dem Bildschirm angezeigt) ist oder nicht, da es eine Eigenschaft Visible fehlt.

War es hilfreich?

Lösung

Sie können Ihre eigene Flagge machen, indem sie es in dem OnPopup Ereignisse einstellen. Das Problem ist, zu wissen, wenn die popupmenu geschlossen ist. Peter Below hat eine Lösung dafür.

Aber meine ich fragen, warum Sie dies wünschen würden? Vielleicht gibt es einen besseren Weg, um das zugrunde liegende Problem zu lösen.

Andere Tipps

Dies scheint ein wenig einfacher (I verwendet Delphi 2007) zu sein:

In Ihrem WM_CONTEXTMENU Nachrichtenhandler, bevor die geerbte Handler aufrufen, ist das Popup-Menü zu angezeigt werden, können Sie Ihre Flagge setzen. Nach geerbt anrufen, hat das Popup-Menü geschlossen, Ihre Flagge zurückgesetzt.

procedure TForm1.WMContextMenu(var Message: TWMContextMenu);
begin
  FPopupActive := True;
  try
    OutputDebugString(PChar(Format('popup opening', [])));
    inherited;
  finally
    FPopupActive := False;
    OutputDebugString(PChar(Format('popup closed', [])));
  end;
end;
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top