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

解決


佐藤栄一  2005-03-31 07:03:33  No: 14036  IP: [192.*.*.*]

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

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

編集    削除
 2005-03-31 07:29:31  No: 14037  IP: [192.*.*.*]

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

編集    削除
ふぐちゃん  2005-03-31 07:33:06  No: 14038  IP: [192.*.*.*]

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

編集    削除
りおりお  2005-03-31 07:33:16  No: 14039  IP: [192.*.*.*]

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

SetForegroundWindow(Handle);

を実行してください。

編集    削除
佐藤栄一  2005-03-31 07:58:45  No: 14040  IP: [192.*.*.*]

解決しました。

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

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

編集    削除