ポップアップメニューを自動的に閉じるには?

解決


佐藤栄一  2005-03-30 22:03:33  No: 14036  IP: 192.*.*.*

こんばんは。いつも参考にさせていただいています。

タスクトレイにアイコンをつくり、右クリックでメニューを出すようにしていますが、メニュー以外の領域をクリックしても、メニューが閉じてくれません。
マウスフックを使いメニュー外の領域のクリックを取得してやろうとしましたが、メニューの大きさと座標を取得できなかったのでできませんでした
閉じるようにするにはどのようにしたら良いでしょうか?

編集 削除
 2005-03-30 22:29:31  No: 14037  IP: 192.*.*.*

>タスクトレイにアイコンをつくり
コードがどこか間違っているのではないでしょうか?
領域外にでてクリックすると消えます

編集 削除
ふぐちゃん  2005-03-30 22:33:06  No: 14038  IP: 192.*.*.*

ソースコードを見ないとわからないのですが、おそらくポップアップメニューを表示する前に
SetForegroundWindow を実行していないからではないでしょうか。

編集 削除
りおりお  2005-03-30 22:33:16  No: 14039  IP: 192.*.*.*

ポップアップメニューを表示する直前に

SetForegroundWindow(Handle);

を実行してください。

編集 削除
佐藤栄一  2005-03-30 22:58:45  No: 14040  IP: 192.*.*.*

解決しました。

ふぐちゃん様、りおりお様の書いた方法でポップアップが
閉じられるようになりました。

すばやく回答していただき、ありがとうございました。

編集 削除