TrackPopupMenuを使用してポップアップメニューを表示していますが、その外側をクリックして、ポップアップメニューがいつ閉じられるかを知りたいです。私はすべてのメニュー機能を調べましたが、この点で役立つものは何も見つかりませんでした。この場合、Spy++はウィンドウメッセージは送信されないと言っていました。
それで、マウスフックをインストールせずにそれを行う簡単な方法はありますか?ありがとう!
[編集]
これは良いです。uFlagsパラメーターでTPM_RETURNCMDを指定した場合、戻り値は、ユーザーが選択したアイテムのメニューアイテム識別子です。ユーザーが選択せずにメニューをキャンセルした場合、またはエラーが発生した場合、戻り値はゼロになります。
:: TrackPopupMenu()が:)を返すと、メニューループは終了します。メニュー項目が選択された場合、6番目のパラメータとしてHWNDが渡されたウィンドウは、選択された項目のIDを含むWM_COMMANDメッセージを受信します。:: TrackPopupMenu()が戻った後、おそらく:: PeekMessage()を使用して、WM_COMMANDがキューにあるかどうかを確認できます。
:: TrackPopupMenu()中に通知を受け取りたい場合は、WM_EXITMENULOOPを処理できます。