一个菜单的消息接收对象是父窗口,
void CWindowManager::OnRclickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMenu menu;
menu.LoadMenu(IDR_MENU_WIN_MANAGER);
//载入事先定义的菜单,把命令发送到this窗口去
CMenu * pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,this);
*pResult = 0;
}
但是其中有些消息想要是CMainFrame接收的,如何做到?
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code !
ON_WM_CREATE()
//}}AFX_MSG_MAP
ON_COMMAND(ID_VIEW_BAR_MANAGER, OnViewBarManager)
ON_UPDATE_COMMAND_UI(ID_VIEW_BAR_MANAGER, OnUpdateViewBarManager)
ON_COMMAND(ID_VIEW_BAR_OUTPUT, OnViewBarOutput)
ON_UPDATE_COMMAND_UI(ID_VIEW_BAR_OUTPUT, OnUpdateViewBarOutput)
END_MESSAGE_MAP()
void CWindowManager::OnRclickTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
CMenu menu;
menu.LoadMenu(IDR_MENU_WIN_MANAGER);
//载入事先定义的菜单,把命令发送到this窗口去
CMenu * pMenu=menu.GetSubMenu(0);
CPoint pos;
GetCursorPos(&pos);
pMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,pos.x,pos.y,this);
*pResult = 0;
}
但是其中有些消息想要是CMainFrame接收的,如何做到?
BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
// NOTE - the ClassWizard will add and remove mapping macros here.
// DO NOT EDIT what you see in these blocks of generated code !
ON_WM_CREATE()
//}}AFX_MSG_MAP
ON_COMMAND(ID_VIEW_BAR_MANAGER, OnViewBarManager)
ON_UPDATE_COMMAND_UI(ID_VIEW_BAR_MANAGER, OnUpdateViewBarManager)
ON_COMMAND(ID_VIEW_BAR_OUTPUT, OnViewBarOutput)
ON_UPDATE_COMMAND_UI(ID_VIEW_BAR_OUTPUT, OnUpdateViewBarOutput)
END_MESSAGE_MAP()
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货