• ベストアンサー

タスクトレイのポップアップメニュー

こんにちわ。 タスクトレイにアイコンを登録し、右クリックでポップアップメニューを表示しています。 そのポップアップを表示している状態でデスクトップを左クリックしてもメニューが消えないのはなぜでしょうか?ポップアップされたメニューをクリックしないとメニューが消えてくれません。 何かのイベントでメニューを消す処理をいれておくのでしょうか? どなたか宜しくお願いします。 (VB6 SP5で作成しました。)

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

PopupMenuの前にSetForegroundWindowするとOK

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?qid=293939
lala123
質問者

お礼

よく検索しないで失礼いたしました。 うまくいきました。 ありがとうございました。

関連するQ&A

  • ポップアップメニュー

    ポップアップメニューについて質問させて頂きます。 リストビュー上で右クリックしたときにポップアップメニューを表示させているのですが、このポップアップメニューの項目がクリックされた時のイベントの取り方が分かりません。 ご存知の方、宜しくお願いします。 環境はVisual Studio6.0 Windows2000です

  • ポップアップメニュー

    NotifyIconでタスクバーに呼び出したアイコンの上で右クリックをしたら、ポップアップメニューが表示させるように作りたいのですが、作り方が分かりません。(サイトなどを見たりしました。) 出きれば教えて頂きたいと思います。 *何をしたいのか↓ タスクトレイで表示されたアイコンを右クリックをするとポップアップメニューが出る。 ・環境 Microsoft Visual C++ SDK HINSTANCE hInst; POINT point; static HMENU hMenu,hSubMenu; /////////////////省略/////////////////// case WM_RBUTTONDOWN:  hMenu = LoadMenu(hInst,"MENUDATA");  hSubMenu = GetSubMenu(hMenu,0);  point.x = LOWORD(lParam);  point.y = LOWORD(lParam);  TrackPopupMenu(hSubMenu,TPM_LEFTALIGN,point.x,point.y,0,hWnd,NULL); break; これではうまくいかないのでご助言お願いします。

  • WM_TIMERからポップアップメニューを閉じるには?

    質問させて頂きます。 現在C++にてWin32SDKを使用し開発を行っております そこで、メインウィンドウが非表示の時にもポップアップメニューを表示するようにしているのですが 非表示の際、ホットキーからポップアップメニューを表示すると ポップアップメニュー以外をクリックしても消えますが WM_TIMER等、一定時間経過時に表示した場合 ポップアップメニュー以外をクリックしても消えません WM_HOTKEYでは SetForegroundWindow関数でアクティブにした後に TrackPopupMenu関数でポップアップメニューを表示して 関係ない所をクリックされてもうまく消えます WM_TIMERでもWM_HOTKEYと同じ処理をしても上手くいきません タスクトレイの右クリックと同じく TrackPopupMenu関数の後にWM_NULLをポストしてもメニューは消えません 何か上手く解決出来る方法は無いでしょうか? どうぞよろしくお願いします。

  • タスクトレイからメニューを表示するには

    Visual C++ 2010 Expressにて、タスクトレイにアイコンを表示し、右クリックでメニューを出す方法を教えてください。 Visual C++ 6.0はお遊びで触ったことがありますが、かなり忘れてしまいました。

  • 押されたキーにてポップアップメニューを切り替える

    OS:XP SP2 アプリ:Excel 2002 ワークシート上で右クリックにてポップアップメニューが表示されますが、Ctrl+右クリック、Shirf+右クリック、Alt+右クリックにて、独自のポップアップメニューを表示させようてしています。 プロジェクトにクラスモジュールを追加し下記の様に宣言しています。 Private WithEvents App As Application Private Sub Class_Initialize() Set App = Application End Sub 右クリックイベント内で現在押されているキーを判断することはできないでしょうか? Private Sub App_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) ここで押されたキーにて表示するメニューを切り替える End Sub 独自のポップアップメニューの追加/表示はできています。 ご教授のほど宜しくお願いします。

  • タスクトレー常駐

    初心者なので、サンプル等みようみまねで何とか・・・という感じです。 今MFCでタスクトレーに常駐させるアプリを作成しております。そこで、タスクトレーのアイコンを右クリックしてメニューを表示させていろんな処理をさせようと考えております。そこで、わからないのが、メニューを表示させて、なにも選択しなかった場合、メニューを消すことができておりません。 その出てきたメニューリスト以外のところをクリックするとそのメニューを閉じるようにしたいとおもっているのですが、どのようにすればいいのか教えていただけないでしょうか。 ちなみに、「DefWindowProc」関数でメッセージを取得してWM_TRAYICONMESSAGE時にメニューを表示するようにしています。 何か補足しなければならなければおっしゃてください。 よろしくお願いします。

  • ポップアップメニューがおかしいです。

    ポップアップメニューや右クリックメニューが透明に表示されています。見にくくてしょうがありません。だれか助けてください。。。。

  • Windowsプログラミングでのタスクトレイへの格納について

    Windowsプログラミングでのタスクトレイへの格納について 以下の動作を実現したいです。 (1)初回プログラム起動時タスクトレイにアイコン表示 (2)タスクトレイアイコンのポップアップメニューからプログラムのリージョンウィンドウを表示できる (3)以後デスクトップとタスクトレイ間で出し入れ可能 Shell_NotifyIcon関数などをつかってプログラム起動後メニューなどからメッセージをつかんで出し入れはできるのですが、初回起動時にタスクトレイに格納しようとするとリージョンウィンドウが表示されたままタスクトレイにアイコンが追加されてしまいます。起動時にタスクトレイのみに表示されるようにする方法分かる方教えてくださいお願いします。

  • ポップアップを出ないようにしたい。

    マウスを重ねると説明を表示(ポップアップ)しますが、これが邪魔になって隣のアイコンが見にくくなるのでなんとかして出ないようにしたいです。フォルダとかファイルに出る表示は、「ツール」→「フォルダオプション」→「表示」から「フォルダとデスクトップの項目の説明をポップアップで表示する」のところのチェックをはずして出なくすることはできたのですが、タスクトレイとかタスクバーなどのアイコンにマウスを重ねると出るのがどうしても消すことができません。どこにも一切出なくする方法はあるのでしょうか?

  • WEBアプリケーションで、デスクトップのタスクトレイからポップアップ

    WEBアプリケーションで、デスクトップのタスクトレイから ポップアップを出すことは可能でしょうか?

専門家に質問してみよう