c++ - 如何仅根据屏幕大小创建一个窗口,不包括使用 C++/Windows 的窗口边框?

标签 c++ windows border createwindow

当使用 CreateWindow(...) 创建窗口时,需要窗口宽度和高度,我必须输入值 656 和 516,而不是 640 和 480,以便计算用于窗口边框。

我想知道是否有一种方法可以仅基于不包括边框的窗口部分创建一个窗口,特别是考虑到如果不同版本的窗口具有不同大小的边框,则程序可能会在以下情况下显示不同我在所说的不同版本上运行它

(即:如果用户的 Windows 版本具有不同大小的边框,则使用 640 - object.width 将使对象不完全位于屏幕边缘)。

那么有没有一种方法可以仅基于屏幕上与程序相关的部分创建一个窗口,或者至少是一个类似于 GetVericalBorder()/ 的函数GetHorizo​​ntalBorder() 以便我在 CreateWindow() 的参数中使用它们,而不是像 656 和 516 这样的任意和模糊的值?

最佳答案

看看AdjustWindowRectEx .您向此函数传递一个矩形,其中包含所需的窗口客户区大小和窗口样式标志,它会计算整个窗口的大小,以便客户区达到所需的大小。

关于c++ - 如何仅根据屏幕大小创建一个窗口,不包括使用 C++/Windows 的窗口边框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2353615/

相关文章:

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

c# - 如果字符串包含整数,如何为文本框设置条件

windows - Time::ParseDate 安装失败

html - html表格内的行

HTML/CSS - 从移动端查看时的额外菜单间距

c++ - 什么是 "Argument-Dependent Lookup"(又名 ADL,或 "Koenig Lookup")?

c++ - Eclipse、CDT、(N)Curses 和调试/分析

c++ - boost 池的 map ?

python - 基于 Python 3.9 的软件无法在 Windows 7 上运行

Python PIL - 属性错误: 'NoneType' object has no attribute 'save'