システムトレイにアプリケーションのポップアップメニューがあります。私が抱えている問題は、アイテムを選択しないとメニューが消えないことです。
ウィンドウの他の場所をクリックしたときにポップアップメニューが消えるようにするにはどうすればよいですか?
ポップアップメニューを表示するためのコードは次のとおりです。
LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if( message == WM_MYMESSAGE && lParam == WM_RBUTTONDOWN)
{
m_menu.CreatePopupMenu();
POINT point;
GetCursorPos(&point);
m_menu.AppendMenu(MF_POPUP, WM_MAXIMIZE, _T("Maximize"));
m_menu.AppendMenu(MF_POPUP, WM_EXIT, _T("Exit"));
m_menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON, point.x, point.y, this);
}
return CDialog::WindowProc(message, wParam, lParam);
}
CMenu::DestroyMenu
運が悪かったので使ってみました。