Qt怎样处理Windows消息
1个回答
2016-09-05 · 知道合伙人软件行家
关注
展开全部
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,执行完指定的操作后再执行默认处理。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询