获取窗口client区的大小
在程序里面,经常要检查屏幕的宽度/高度,还要检查窗口绘图区域的宽度/高度。怎么在win32 下获取这些信息呢?
方法1:
GetSystemMetrics(SM_CXSCREEN);//获取屏幕的宽度
GetSystemMetrics(SM_CYSCREEN);//获取屏幕的高度
BOOL GetWindowInfo(
HWND hwnd,
PWINDOWINFO pwi
);//获取窗口的信息,然后读取窗口大小。参见http://msdn.microsoft.com/en-us/library/ms633516(VS.85).aspx
GetWindowRect( HWND hWnd, LPRECT lpRect)//获取窗口区域信息,这个区域包括边框,标题栏的。返回的是基于屏幕左上角为原点的矩形信息
GetClientRect(HWND hWnd, LPRECT lpRect)//获取client区域的信息,注意这个区域是以相对坐标系(相对于window)来定位的。
方法2:
响应WM_SIZE消息,然后
cxClient = LOWORD (lParam) ;//客户区域的宽度
cyClient = HIWORD (lParam) ;//客户区域的高度