通常,窗口的厚度为4像素,可以通过GetSystemMetrics方法获取。我可以更改它的值,例如 2 个像素吗?
非常感谢!
简单回答:不。不适用于特定窗口。
复杂的答案:边框被绘制为窗口“非客户端”区域的一部分。这一切都由默认处理(即 DefWindowProc)以及标题、最小化、最大化按钮等处理(在后台)。您可以通过处理 WM_NCPAINT 消息来覆盖它。然后,您将负责绘制窗口的整个非客户区域。您还需要处理 WM_NCCALCSIZE 消息,以便 Windows 知道有多少剩余空间可以分配给您的客户区。
或者,您可以将窗口的边框样式设置为无。这将允许 Windows 为您绘制标题,尽管它可能看起来略有不同。不幸的是,通过这样做,您将失去拖动调整大小的功能。为此,您需要处理 WM_NCHITTEST 消息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)