• 4653阅读
  • 3回复

消息发送 [复制链接]

上一主题 下一主题
离线dandelion
 

只看楼主 倒序阅读 楼主  发表于: 2009-07-30
— 本帖被 XChinux 执行加亮操作(2009-07-30) —
现在一程序采集图像进行处理。采集卡库函数需要一静态回调函数。回调函数如下:
int CALLBACK CMainFrame::SnapThreadCallbackEx(SNAP_INFO *pInfo)
{
    HWND hwnd = (HWND)(pInfo->pParam);
    
    /*
     *    发送自定义消息WM_SNAP_EX_CHANGE到主窗口,    
     *    同时传入当前可以处理的图像序号
     *    注意:用SendMessage发送消息,必须等待消息处理完毕后,才能退出整个SendMessage函数
     */
    ::SendMessage(hwnd, WM_SNAP_EX_CHANGE, pInfo->nNumber, 0);

    return 1;
}
现在想在Qt中用SendMessage 和winEvent方式实现这个功能,请问如何实现?谢谢!
离线dandelion

只看该作者 1楼 发表于: 2009-07-30
已解决
离线shiroki

只看该作者 2楼 发表于: 2009-07-30
别光写个已解决亚。 把解决的方法贴出来share一下
--
shiro is White
ki is tree
http://www.cuteqt.com
论坛 http://www.cuteqt.com/bbs
博客 http://www.cuteqt.com/blog
博客镜像: http://sites.cuteqt.com/cuteqt
Linux/Qt/嵌入式讨论群 http://qun.qq.com/air/5699823
离线dandelion

只看该作者 3楼 发表于: 2009-07-30
先定义WId  winID ,后得到 winID=this->winid();
因静态回调函数没有this指针,因此上面语句需要在其他非静态函数中执行。
将SendMessage(hwnd, WM_SNAP_EX_CHANGE, pInfo->nNumber, 0)中的hwnd替换为winID即可。
快速回复
限100 字节
 
上一个 下一个