我在afxstd.h中定义消息:#define WM_COMPILE WM_USER+1
在CMainFrm中某个按钮的响应函数写上:PostMessage(WM_COMPILE);
在CXXXView类的头文件中加上红色的部分:
// Generated message map functions
protected:
//{{AFX_MSG(CLeftView)
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
afx_msg void OnClick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
//}}AFX_MSG
afx_msg void OnCompile();
DECLARE_MESSAGE_MAP()
在CXXXView类的cpp文件中加上红色的部分
BEGIN_MESSAGE_MAP(CMainFrame, CMDIFrameWnd)
//{{AFX_MSG_MAP(CMainFrame)
ON_WM_CREATE()
ON_COMMAND(ID_BUTTON32771, OnButton32771)
//}}AFX_MSG_MAP
ON_MESSAGE(WM_COMPILE,OnCompile)
END_MESSAGE_MAP()
方法OnCompile定义如下:
void CXXXView::OnCompile(){
CDC* pDC=GetDC();
pDC->TextOut(0,0,"gggggggggg");
}
编译运行,点击那个按钮,可是view没有任何反映,不显示,"gggggggggg",设置断点,go一下才知道
CXXXView根本没有响应消息WM_COMPILE,但是在CXXXView类里的鼠标单击响应函数中发送该消息,则
OnCompile可以响应。不知是什么原因,请知道的赐教,不胜感激!