C++获取窗体显示区域大小
获取窗体显示区域大小
已我现在的了解,获取窗体显示区域大小有三种方法。
第一种方法:使用GetSystemMetrics函数
- GetSystemMetrics(SM_CXFULLSCREEN); //获取最大化窗体的显示区域宽度
- GetSystemMetrics(SM_CYFULLSCREEN);//获取最大化窗体的显示区域高度
第二种方法:使用GetClientRect函数
该函数的原型如下:
- BOOLGetClientRect(
- HWNDhWnd, //handle to window
- LPRECTlpRect //client coordinates
- );
书上没介绍该函数的使用方法,看MSDN的示例代码,经过测试,其使用方法如下:
- RECT rect;
- hdc = BeginPaint (hwnd, &ps);
- GetClientRect(hwnd, &rect);
- x = rect.right;
- y = rect.bottom;
- SetTextAlign(hdc, TA_RIGHT | TA_TOP);
- TextOut(hdc, 100, 0, szBuffer,wsprintf(szBuffer,TEXT("%5d"), x));
- TextOut(hdc, 100, cyChar,szBuffer, wsprintf(szBuffer,TEXT("%5d"), y));
- EndPaint (hwnd, &ps);
第三种方法:LOWORD和HIWORD宏
- caseWM_SIZE:
- x = LOWORD(lParam);
- y = HIWORD(lParam);
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。