MFC:通过发布消息触发菜单操作需要什么?
MFC: what is needed to trigger menu action by posting message?
我有一个与功能相关的菜单项。
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_FILE_ACTION, &CMyDoc::OnFileAction)
在我的代码中的某处,我尝试通过发布
之类的消息来 运行 此功能
AfxGetMainWnd()->PostMessage(WM_COMMAND, 0, ID_FILE_ACTION);
但是没有任何反应。
WM_COMMAND
message 的菜单项 ID 在 wParam
的 low word 中,不在 中lParam
! (并且 lParam
应该为零。)所以,试试这个:
AfxGetMainWnd()->PostMessage(WM_COMMAND, MAKEWPARAM(ID_FILE_ACTION, 0), 0);
我有一个与功能相关的菜单项。
BEGIN_MESSAGE_MAP(CMyDoc, CDocument)
ON_COMMAND(ID_FILE_ACTION, &CMyDoc::OnFileAction)
在我的代码中的某处,我尝试通过发布
之类的消息来 运行 此功能AfxGetMainWnd()->PostMessage(WM_COMMAND, 0, ID_FILE_ACTION);
但是没有任何反应。
WM_COMMAND
message 的菜单项 ID 在 wParam
的 low word 中,不在 中lParam
! (并且 lParam
应该为零。)所以,试试这个:
AfxGetMainWnd()->PostMessage(WM_COMMAND, MAKEWPARAM(ID_FILE_ACTION, 0), 0);