前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >过滤窗口最小化事件

过滤窗口最小化事件

作者头像
Qt君
发布2023-03-17 14:29:20
1.1K0
发布2023-03-17 14:29:20
举报
文章被收录于专栏:跟Qt君学编程

本文以简单的例子实现windows平台下的过滤窗口最小化事件功能。

例子:

代码语言:javascript
复制
#include <QApplication>
#include <QWidget>
#include <QAbstractNativeEventFilter>

#include <windows.h>

class NativeFilter : public QAbstractNativeEventFilter
{
    bool nativeEventFilter(const QByteArray &eventType,
                           void *message,
                           long *result)
    {
        MSG *msg = static_cast<MSG *>(message);

        /* 过滤点击最小化按钮触发的最小化事件 */
        if (msg->message == WM_NCLBUTTONDOWN && msg->wParam == HTREDUCE)
            return true;

        /* 过滤点击任务栏图标触发最小化事件 */
        if (msg->message == WM_SYSCOMMAND && msg->wParam == SC_MINIMIZE)
            return true;

        return false;
    }
};

int main(int argc, char **argv)
{
    QApplication a(argc, argv);
    a.installNativeEventFilter(new NativeFilter);

    /* QWidget最小化按钮无效化 */
    QWidget w;
    w.show();

    return a.exec();
}
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Qt君 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档