システムトレイでのメニュー?

解決


役満太郎  2005-01-20 14:19:33  No: 56079

Visual C++6.0によるMFCアプリケーションで、システムトレイに表示したアイコンを右クリックするとポップアップメニューが表示されるようにしているんですが、どうしても自分で作成したメニューと同時にシステムトレイを右クリックすると出てくるWindowsXP標準のメニュー(ツールバーとかタスクマネージャーがあるメニュー)が表示されてしまいます。そこでSetForegroundWindow()を消して実行したらXP標準のメニューは出てこなくなったのですが、自分で作成したメニューが消えなくなってしまいました。SetForegroundWindow()を使用してXP標準のメニューが出てこなくなる方法を教えてください。よろしくお願いします。


役満太郎  2005-01-20 14:28:37  No: 56080

ソースは以下の通りです

case WM_RBUTTONDOWN:  //右クリック
         CPoint point;
         ::GetCursorPos( &point );
  SetForegroundWindow();
  CMenu Menu;
  VERIFY(Menu.LoadMenu(IDR_POPUP));
  CMenu *popupMenu = Menu.GetSubMenu(0);
  popupMenu->TrackPopupMenu( TPM_LEFTALIGN, point.x, point.y, this );
  PostMessage( WM_NULL );
  break;


役満太郎  2005-01-20 22:37:51  No: 56081

自己解決しました。SetTimerを使いOnTimer内に右クリック時の動作を書いたら解決しました。ご迷惑をおかけしました


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

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






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