ポップアップメニューを消すには?

解決


たき  2003-04-15 22:25:17  No: 106706

起動時にタスクトレイにアイコンを追加し、
アイコン上でマウスの右クリックが押された場合に、
メニューを出し、メニュー内の項目が選択された時は、
所定の動作を、
メニュー外がクリックされた時は、メニューを消す、
ということをしたいのですが、メニューを消すところが
上手く出来ません。

現在、メニューを出す時に、
PopupMenuメソッドを使っているのですが、
これだとメニュー内の項目が選択されない限り、
その行で止まってしまうみたいなので、
メニューが一回表示されてしまうと、
画面を切り替えようが、メニューが最前面に
表示されたままになってしまいます。
PopupMenuメソッド以外の方法でメニューを出せば、
何とかなるかと思ったのですが、そのやり方も
分からなかったので、ここに質問させていただきました。
何かいい方法はありませんでしょうか。
よろしくお願いします。


takk  2003-04-15 22:57:28  No: 106707

PopupMenuメソッドの前にSetForegroundWindowを使うと大丈夫のようです。
少なくとも僕の環境ではそれでメニューは残らなくなってます。

Call SetForegroundWindow(Me.hWnd)
Call PopupMenu(mnuTaskTray, , , , mnuVisible)


たき  2003-04-15 23:13:54  No: 106708

takkさんありがとうございます。
私の環境でもできるようになりました。
これからSetForegroundWindowについて
調べてみたいと思います。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加