postmessage消息无反应

cczu_yan 2013-03-04 02:18:30
我在线程里面想发送一个postmessage用于保存图片,但是消息发送后,却没有反应,找不出原因

头文件:

const UINT WM_GRAB_FINISHED = WM_APP;
afx_msg LRESULT OnGrabFinished(WPARAM wParam, LPARAM lParam);

.cpp中

ON_MESSAGE(WM_GRAB_FINISHED, OnGrabFinished)//添加消息映射

PostMessage (WM_GRAB_FINISHED, NULL, NULL );

afx_msg LRESULT C针的抖动检测vc200Dlg::OnGrabFinished(WPARAM wParam, LPARAM lParam)
{
CString Buffer;
Buffer.Format (m_path + "\\"+"image_%02d.bmp", m_LastGrabbedImage->GetID());
CImagePersistence::Save(ImageFileFormat_Bmp, (String_t)Buffer, m_LastGrabbedImage);//图片保存

return 0;


}

请问我哪里写错了,编译的时候没有报错,就是执行不到消息的里面
...全文
474 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cczu_yan 2013-03-04
  • 打赏
  • 举报
回复
好像都不是这些原因
zhdhj 2013-03-04
  • 打赏
  • 举报
回复
这个WM_APP MSDN 上说是 This message is used by applications to help define private messages, usually of the form WM_APP+X, where X is an integer value. 所以你应该这样定义 const UINT WM_GRAB_FINISHED = WM_APP+1; 还有你现在的使用PostMessage的线程,是否就是你 C针的抖动检测vc200Dlg所在的线程,如果不是,就需要使用 ::PostMessage 第一个参数是vc200Dlg实例对象的 窗口句柄。
这个娜戒海了 2013-03-04
  • 打赏
  • 举报
回复
const UINT WM_GRAB_FINISHED = WM_APP; 你用DEFINE WM_GRAB_FINISHED WM_USER+1 然后cpp里面那个afx_msg去掉
cczu_yan 2013-03-04
  • 打赏
  • 举报
回复
引用 3 楼 sha_jinhao 的回复:
const UINT WM_GRAB_FINISHED = WM_APP + 1;
好像不是这个原因,我感觉在线程里面的postmessage好像从来就没进去过,这是什么原因啊
jimette 2013-03-04
  • 打赏
  • 举报
回复
const UINT WM_GRAB_FINISHED = WM_APP + 1;
cczu_yan 2013-03-04
  • 打赏
  • 举报
回复
引用 1 楼 sha_jinhao 的回复:
Used to define private messages, usually of the form WM_APP+x, where x is an integer value.
我不太明白什么意思啊,这样就不行吗
jimette 2013-03-04
  • 打赏
  • 举报
回复
Used to define private messages, usually of the form WM_APP+x, where x is an integer value.

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧