我有一个与功能相关的菜单项。
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
的低字中,不在 lParam
中! (lParam
应该为零。)所以,试试这个:
AfxGetMainWnd()->PostMessage(WM_COMMAND, MAKEWPARAM(ID_FILE_ACTION, 0), 0);
关于c++ - MFC:通过发布消息触发菜单操作需要什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61489010/