BOOL CMainFrame::OnCommand(WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class
int MenuCmdId=LOWORD(wParam);
CMenu2View *pView=(CMenu2View*)GetActiveView();
if(MenuCmdId>=IDM_PHONE1 && MenuCmdId<IDM_PHONE1+pView->m_strArray.GetSize())
{
CClientDC dc(pView);//视类
dc.TextOut(0,0,pView->m_strArray.GetAt(MenuCmdId-IDM_PHONE1));
//MessageBox("Test");
return TRUE;
}
return CFrameWnd::OnCommand(wParam, lParam);
}
LOWORD是一个宏定义,是取wParam中两个低字节。
GetActiveWindow()->GetActiveView()->GetDocument()
GetActiveView 方法用来返回当前活动视图
CMenu2View *pView视类对象指针
WM_COMMAND:
窗口菜单:
LOWORD(wParam): 菜单id
HIWORD(wParam): 0
lParam: 0
如果这个消息是由子窗口控件产生,如button产生则:
LOWORD(wParam): 控件ID
HIWORD(wParam): 通知码
lParam: 子
窗口句柄。
通过参数,可以区分这个消息的来源是来自于控件,快捷键还是菜单。