mfc_popup_2 - 8BitsCoding/RobotMentor GitHub Wiki



void CMFCApplication1Dlg::OnRButtonUp(UINT nFlags, CPoint point)
{
	CMenu menu;
	menu.CreatePopupMenu();
	CString str;
	for (int i = 0; i < 5; i++) {
		str.Format(L"%d๋ฒˆ ๋ฉ”๋‰ด", i);
		menu.AppendMenu(MF_STRING, 20000 + i, str);	// WM_COMMAND๊ฐ€ ๋ฐœ์ƒˆํ•˜๊ณ  wParam์—์„œ ๋ฉ”์‹œ์ง€๋ฒˆํ˜ธ๋ฅผ ํ™•์ธํ•ด์•ผํ•จ.
	}
	
	CPoint pos;
	GetCursorPos(&pos);
	menu.TrackPopupMenu(TPM_LEFTALIGN, pos.x, pos.y, this);
	menu.DestroyMenu();

	CDialogEx::OnRButtonUp(nFlags, point);
}
BOOL CMFCApplication1Dlg::OnCommand(WPARAM wParam, LPARAM lParam)
{
	int cmd_id = LOWORD(wParam);

	if (cmd_id > 20000 && cmd_id < 20005) {
		CString str;
		str.Format(L"%d ํ•ญ๋ชฉ์„ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.", cmd_id - 20000);
		AfxMessageBox(str);
	}

	return CDialogEx::OnCommand(wParam, lParam);
}
void CMFCApplication1Dlg::OnMyCommand()
{
	// 20000 ๋ฉ”์‹œ์ง€ ์ฒ˜๋ฆฌ
	AfxMessageBox(L"์ฒซ ๋ฒˆ์งธ ํ•ญ๋ชฉ์„ ์„ ํƒ");
}