ポップアップメニューを表示するには以下の様にする.
void CView::OnContextMenu(CWnd* pWnd, CPoint point)
{
// Shift + F10 に備えてカーソルポジションを取得
GetCursorPos(&point);
CMenu mnPopup;
VERIFY( mnPopup.LoadMenu(IDR_POPUP) );
CMenu *pPopup = mnPopup.GetSubMenu(0);
ASSERT(pPopup != NULL);
SetForegroundWindow();
pPopup->TrackPopupMenu( TPM_LEFTALIGN | TPM_RIGHTBUTTON,
point.x, point.y, AfxGetMainWnd());
}
TrackPopupMenu() に渡す座標はスクリーン座標である.
また,ポップアップメニューのリソース定義をする場合は空のタイトルの下に作成しなければならない.
参照
ポップアップメニューの表示座標がずれる