如何在Qt中模拟MFC的消息机制

ryfdizuo 2011-12-05 10:06:59
有一个基于MFC + SpeechSDK开发的语音识别程序,使用了MFC的消息机制,程序初始化时要向speechSDK中注册自定义的消息。
我现在想把这个程序该成qt的形式,不知技术上是否可行?
求qt达人给点建议,谢谢!
...全文
293 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
noodle123 2011-12-07
  • 打赏
  • 举报
回复
入门,入门,还在入门。
AAA20090987 2011-12-06
  • 打赏
  • 举报
回复
用这个
bool QWidget::winEvent ( MSG * message, long * result ) [virtual protected]
对象 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhh_steven 的回复:]

Qt和MFC本质上都是消息循环事件驱动机制,但处理过程不太一样;

Qt可以自定义事件:
1. 继承QEvent类,需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值;
2.在合适的地方发送事件post/send函数;
3.在发送对象类中的customEvent函数中,捕获自定义事件,然后进行相应的动作;

详细信息可以查看帮助文档,
[/Quote]

MFC也可以自定义事件的,只要定义了事件宏就可以,但是宏的值必须大于WM_USER,用Sendmessage发送信息,translateMessage翻译信息,最后dispatch。

QT和MFC这两样库我还算都接触过,我个人认为,QT的signal-slot机制和MFC的event-callback机制其实没本质区别
念茜 2011-12-06
  • 打赏
  • 举报
回复
MFC的消息机制是指什么不太清楚,同dbzhang800所说,如果仅仅是windows系统调用,那改用Qt框架很方便,没问题。如果是MFC自己封装的东西,用Qt实现消息循环事件处理也不难。
zhh_kv 2011-12-05
  • 打赏
  • 举报
回复
Qt和MFC本质上都是消息循环事件驱动机制,但处理过程不太一样;

Qt可以自定义事件:
1. 继承QEvent类,需要提供一个QEvent::Type类型的参数,作为自定义事件的类型值;
2.在合适的地方发送事件post/send函数;
3.在发送对象类中的customEvent函数中,捕获自定义事件,然后进行相应的动作;

详细信息可以查看帮助文档,
dbzhang800 2011-12-05
  • 打赏
  • 举报
回复
我对MFC不了解,不清楚你提到的MFC消息机制是否就是Windows api提供的消息机制(SendMessage/PeekMessage/DispatchMessage/... )。如果是的话,应该没有任何问题,也用不着模拟,直接用就行了。

16,173

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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