我正在绘制一个矩形(在OpenGL中),并且拐角基于光标位置。我将像素位置修改为浮动位置,但是我需要宽度和高度(将其保存在某处)。
所以我做了一些测试,在1024x512的窗口上,左上角的确是(0,0),但底角是(1007,473)或附近。
现在它可以正常工作,但是如果窗口调整大小,那么它显然将不再起作用,所以这是我的问题:
我如何获得边框尺寸?
这样我想我可以从窗口大小中减去它,并为光标绘制矩形得到正确的位置。
最佳答案
在Windows上,您可以使用GetWindowRect
和GetClientRect
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;