windows – 为什么最大化的Delphi形式比GetSystemMetrics值宽8个
发布时间:2020-12-13 20:37:40 所属栏目:Windows 来源:网络整理
导读:如果我最大化Delphi形式,宽度和高度值比相应的GetSystemMetrics SM_CXSCREEN和SM_CYSCREEN大8个像素? 例如: 当我右键单击我的屏幕并获得属性时,我的屏幕分辨率为1680 X 1050.这些是从GetSystemMetrics(SM_CXSCREEN)和GetSystemMetrics(SM_CYSCREEN)返回的
如果我最大化Delphi形式,宽度和高度值比相应的GetSystemMetrics SM_CXSCREEN和SM_CYSCREEN大8个像素?
例如: 当我右键单击我的屏幕并获得属性时,我的屏幕分辨率为1680 X 1050.这些是从GetSystemMetrics(SM_CXSCREEN)和GetSystemMetrics(SM_CYSCREEN)返回的相同值. 当我在Delphi应用程序中最大化表单时,我得到1688的宽度和1058的高度.有8像素的差异.是什么导致这种差异?
当最大化窗口最初实现时,设计者想要删除调整大小的边框.而不是删除它们,而是决定将这些边界绘制在屏幕边缘之外,在那里它们将不会被看到.因此,最大化窗口的相当令人惊讶的窗口矩形.
随着多监视器系统的出现,这一实现决策成为一个问题.到那时,有些应用程序依赖于此行为,因此Windows团队决定为了兼容性而保留该行为.这意味着最大化的窗口泄漏到相邻的屏幕上.随着时间的推移,窗口管理器获得了能够抑制泄漏的功能. 像往常一样,Raymond Chen有一篇文章涵盖了细节:Why does a maximized window have the wrong window rectangle? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows phone-8 – Windows Phone 8.1模拟器没有加载操作系
- OpenGL 基于OpenGL的三维机器人仿真
- ASP木马Webshell安全解决方案
- .NET的SuppressKeypress是如何工作的?
- Window中的Docker 拉取Mysql镜像 并在本地Navicate链接
- wix – 如何在不重新启动任何组件的情况下强制安装MSI – 但
- windows – Task Scheduler如何结束正在运行的作业?
- IIS中死循环的解决方法(Dllhost.exe占用CPU100%解决办法)
- windows – 什么是流程句柄?
- Windows – 如何从CMD.exe切换到Powershell?