Qt怎样处理Windows消息

 我来答
瑾瑜爸育儿
2016-09-05 · 知道合伙人软件行家
瑾瑜爸育儿
知道合伙人软件行家
采纳数:5813 获赞数:18787
毕业于四川成都大学汉语言文学专业,文学学士学位。 网络营销、网站运营行业10年SEO网站优化运营经验。

向TA提问 私信TA
展开全部

  Qt处理Windows消息的方法

  一、用到的头文件和函数

  首先,要想在Qt工程中处理Windows消息,你必须包含对应的Windows头文件<windows.h>。如果还需要用到一些扩展的组件,则还要包含<windowsx.h>。

  此外,你需要实现继承自QWidget类的虚函数nativeEvent。这个函数名也很好记,即本地事件。注意,这是一个保护类型成员。

  该函数的声明为

  virtual bool

  nativeEvent(const QByteArray &eventType, void *message, long *result);

  注意,在Windows平台上,事件类型标识为 "windows_generic_MSG",消息类型为MSG*,返回值类型为LRESULT。


  二、示例

  • 首先,我们在类中声明nativeEvent函数。

  • 接着,我们对参数类型进行转换。

  • 然后,就可以像往常一样通过switch来处理Windows消息了。

  • 在此需要提醒大家注意的是,如果我们处理完相应的消息后,不再想让Qt执行默认的事件处理,就返回true,表示消息已处理;否则,就返回false,执行完指定的操作后再执行默认处理。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式