代码如下:
//h file
class MyClass: public CView
{
public:
afx_msg LRESULT OnMyMess(WPARAM, LPARAM);
}
//cpp file
BEGIN_MESSAGE_MAP(MyClass, CView)
ON_MESSAGE(WM_USER+100, OnMyMess)
END_MESSAGE_MAP()
LRESULT OnMyMess(WPARAM, LPARAM)
{return 0};
//Somewhere in the programm
SendMessage(WM_USER+100, 0 ,0);
为什么程序不调用处理程序?
更新:WinXP,MS VS 2003
最佳答案
例如,也许您不是从 MyClass 而是从 MyMainFrame 的方法调用 SendMessage(),因此您将消息发送到错误的窗口。 如果是这样,只需添加成员变量:
m_myView.SendMessage(WM_USER+100,0,0);
此外,您确实忘记了 MyClass:: 来自:
LRESULT MyClass::OnMyMess(WPARAM, LPARAM)
{return 0};
关于c++ - 用户定义的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6859317/