質問

Delphi 7には、Visibleプロパティがないため、ポップアップメニューが表示されている(画面に表示されている)かどうかを確認する方法があります。

役に立ちましたか?

解決

OnPopupイベントでフラグを設定することにより、独自のフラグを作成できます。問題は、ポップアップメニューがいつ閉じられるかを知ることです。 以下のピーター解決策があります。

しかし、私はなぜあなたがこれを望むのか尋ねますか?根本的な問題を解決するより良い方法があるかもしれません。

他のヒント

これは少し単純に思えます(Delphi 2007を使用しました):

WM_CONTEXTMENUメッセージハンドラーで、継承されたハンドラーを呼び出す前に、ポップアップメニューが表示される直前に、フラグを設定できます。継承を呼び出した後、ポップアップメニューが閉じられ、フラグをリセットします。

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;
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top