【发布时间】:2020-04-23 00:08:50
【问题描述】:
我正在尝试更改我的窗口背景,但函数 GetWindowRect 没有正确获取左侧和顶部的值。 FillRect 函数仅填充屏幕的四分之一,其余部分保持透明。当我手动设置 left 和 top 值时,它可以正常工作,填满整个窗口。
case WM_ERASEBKGND:{
hdc = BeginPaint(hwnd, &ps);
RECT rect;
GetWindowRect(hwnd, &rect);
rect.left = 0; //It only works
rect.top = 0; //if I do this
FillRect(hdc, &rect, CreateSolidBrush(RGB(240,240,240));
EndPaint(hwnd, &ps);
}
break;
【问题讨论】:
-
GetWindowRect->GetClientRect -
这个question 解释了窗口和客户端矩形之间的区别。