精选文章 防止最大化遮盖任务栏

防止最大化遮盖任务栏

作者:nui111 时间: 2019-11-05 03:36:53
nui111 2019-11-05 03:36:53

LRESULT  HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    LRESULT lRes = 0;
    BOOL bHandled = TRUE;
    switch (uMsg) {
    case WM_CREATE:        lRes = OnCreate(uMsg, wParam, lParam, bHandled); break;
    case WM_NCACTIVATE:    lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break;
    case WM_NCCALCSIZE:    lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break;
    case WM_NCPAINT:       lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break;
    case WM_NCHITTEST:     lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break;
    case WM_SIZE:          lRes = OnSize(uMsg, wParam, lParam, bHandled); break;
    case WM_GETMINMAXINFO:
        lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled);
        break;
    default:
        bHandled = FALSE;
    }
    if (bHandled) return lRes;
    if (m_pm.MessageHandler(uMsg, wParam, lParam, lRes)) return lRes;
    return CWindowWnd::HandleMessage(uMsg, wParam, lParam);
}

LRESULT OnGetMinMaxInfo(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
    MONITORINFO oMonitor = {};
    oMonitor.cbSize = sizeof(oMonitor);
    ::GetMonitorInfo(::MonitorFromWindow(*this, MONITOR_DEFAULTTOPRIMARY), &oMonitor);
    CDuiRect rcWork = oMonitor.rcWork;
    rcWork.Offset(-oMonitor.rcMonitor.left, -oMonitor.rcMonitor.top);

    LPMINMAXINFO lpMMI = (LPMINMAXINFO)lParam;
    lpMMI->ptMaxPosition.x = rcWork.left;
    lpMMI->ptMaxPosition.y = rcWork.top;
    lpMMI->ptMaxSize.x = rcWork.right;
    lpMMI->ptMaxSize.y = rcWork.bottom;

    bHandled = FALSE;
    return 0;
}

 

 

 

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:HBase的Shell操作

下一篇:【深入理解java虚拟机】第3集-动态代理的原理之CGLIB

您可能感兴趣

  • 第七章-函数

    我始终不明白为什么还要麻烦的函数原型。如果只是把所有函数的定义放置在 main函数的前面,不就没有问题了吗? 不可能只有main函数调用其他函数。 如果函数之间互相调用,因为不允许调用未定义的函数,所以必须仔细斟酌他们的顺序,是很麻烦的。 总之最好是用上函数原型。 错。首先,你是假设只有main 函数调用其他函数,当然这是不切实际的。实际上,某些函数将会相互调用。如果把所有的函数定义放在 m...

  • MySQL 三万字精华总结 + 面试100 问,和面试官扯皮,吹牛逼!绰绰有余(四:MySQL锁机制以及调优)收藏系列!

    七、MySQL锁机制 数据库的乐观锁和悲观锁? MySQL 中有哪几种锁,列举一下? MySQL中InnoDB引擎的行锁是怎么实现的? MySQL 间隙锁有没有了解,死锁有没有了解,写一段会造成死锁的 sql 语句,死锁发生了如何解决,MySQL 有没有提供什么机制去解决死锁 锁是计算机协调多个进程或线程并发访问某一资源的机制。 在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争...

  • MySQL 精华总结(收藏版)

    一、MySQL架构 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。这种架构可以根据业务的需求和实际需要选择合适的存储引擎。 连接层:最上层是一些客户端和连接服务。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程池的概念,为通...

  • LoadRunner性能测试系统学习教程:Analysis分析器(1)

    分析器顾名思义就是对测试结果数据进行分析的组件,它是LoadRunner三大组件之一,其重要性不言而喻。在Controller组件执行场景的过程中,LoadRunner会将数据收集起来并保存到数据库中。当场景执行完成后,可以进入Analysis组件对这些数据进行分析。 分析器中保存着大量用来分析性能测试结果的数据视图,但并不一定要对每个视图进行分析,可以根据实际情况选择相关的数据视图进行分析...

  • Xcode 12 Beta 3 更新记录SwiftUI2

    Xcode 12 Beta 3发行说明 更新您的应用程序以使用新功能,并针对API更改测试您的应用程序。 总览 Xcode 12 beta 3包括适用于iOS 14,iPad OS 14,tvOS 14,watchOS 7和macOS 11的SDK。Xcode 12 beta 3版本支持针对iOS 9和更高版本,tvOS 9和更高版本以及watchOS 2和更高版本的设备上调试。 。Xcod...

  • 马云称双11对阿里没什么意义;Python成为GitHub第二流行的语言;​华为首款可折叠屏5G手机今日开售 | EA周报...

    EA周报 2019年11月15日 每个星期7分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事、掌握IT核心技术。 热点大事件 马云称双十一对阿里没多大意义,只是一次技术测试 11月13日,在第五届世界浙商大会上,马云表示,不要把双十一看作是阿里的成功,其实对阿里巴巴来讲没多大意义,更多的是一个技术测试。他说,双十一所需要的所有技术、设备,是十年以后整个中国科技、经济发展的一种基础设施。(新浪...

  • 3万字通俗易懂告诉你什么是.NET?什么是.NET Framework?什么是.NET Core?

    通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core? 什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这主要包括:CLS、CTS(CLI)、FCL、Windows下CLR的相关核心组成、Windows下托管程序运行...

  • Linux命令(绝大部分)

    ab - Apache服务器的性能测试工具 accept - 指示打印系统接受发往指定目标打印机的打印任务 alias - 用来设置指令的别名 apachectl - Apache服务器前端控制工具 apropos - 在 whatis 数据库中查找字符串 apt-get - Debian Linux发行版中的APT软件包管理工具 aptitude - Debian Linux系统中软件包管...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。