我们如何获得窗口的边框大小?

时间:2013-05-24 00:30:24

标签: c++ opengl cursor border

我正在绘制一个矩形(在OpenGL中),并且角落基于光标位置。我将像素位置修改为浮动位置,但我需要宽度和高度(这是保存在某处)。

所以我做了一些测试,在1024x512的窗口上,左上角确实是(0,0),但是底角是(1007,473)或附近。

现在它工作正常,但是如果窗口调整大小,那么它显然将不再起作用,所以这是我的问题:

我如何获得边框尺寸? 这样我认为我可以从窗口大小中减去它并获得光标绘制矩形的正确位置。

1 个答案:

答案 0 :(得分:2)

在Windows上,您可以使用GetWindowRectGetClientRect

RECT windowRect;
GetWindowRect(hwnd, &windowRect);

RECT clientRect;
GetClientRect(hwnd, &clientRect);

int borderWidth = ((windowRect.right - windowRect.left) - (clientRect.right -clientRect.left))/2;

虽然GetClientRect应该为您提供窗口的内部宽度,这对您来说应该足够了。

int innerWidth = clientRect.right - clientRect.left;