MFC ActiveX 工程中,自定义消息实现有个的问题找不到。
在编写 OCX 的过程中,因为希望线程执行结束后给主线程发送一个消息,但是总是没反应。
1. 消息定义了
cpp
#define MSG_FIRE (WM_USER+100)
2. Message maps
*.h
cpp
// Message maps //{{AFX_MSG(COcxFileCtrl) afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); afx_msg BOOL OnQueryEndSession(); afx_msg void OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized); //}}AFX_MSG afx_msg LRESULT OnMsgFire(WPARAM wParam, LPARAM lParam); DECLARE_MESSAGE_MAP()
*.cpp
cpp
// Message map BEGIN_MESSAGE_MAP(COcxFileCtrl, COleControl) //{{AFX_MSG_MAP(COcxFileCtrl) ON_WM_HELPINFO() ON_WM_QUERYENDSESSION() ON_WM_ACTIVATE() //}}AFX_MSG_MAP ON_MESSAGE(MSG_FIRE,OnMsgFire) ON_OLEVERB(AFX_IDS_VERB_PROPERTIES, OnProperties) END_MESSAGE_MAP()
3. 函数体
cpp
// COcxFileCtrl message handlers LRESULT COcxFileCtrl::OnMsgFire(WPARAM wParam, LPARAM lParam) { logForPrjEx("%d,fire !",__LINE__); FireOptDone("287"); return 0; }
4. 调用,由于多线程调用不了,尝试直接写在对象的方法中也没效果。百思不得骑姐。
cpp
::PostMessage(this->m_hWnd,MSG_FIRE,0,0);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论