Visual C++6.0によるMFCアプリケーションで、システムトレイに表示したアイコンを右クリックするとポップアップメニューが表示されるようにしているんですが、どうしても自分で作成したメニューと同時にシステムトレイを右クリックすると出てくるWindowsXP標準のメニュー(ツールバーとかタスクマネージャーがあるメニュー)が表示されてしまいます。そこでSetForegroundWindow()を消して実行したらXP標準のメニューは出てこなくなったのですが、自分で作成したメニューが消えなくなってしまいました。SetForegroundWindow()を使用してXP標準のメニューが出てこなくなる方法を教えてください。よろしくお願いします。
ソースは以下の通りです
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;
自己解決しました。SetTimerを使いOnTimer内に右クリック時の動作を書いたら解決しました。ご迷惑をおかけしました
ツイート | ![]() |