牛骨文教育服务平台(让学习变的简单)
博文笔记

C++获取窗体显示区域大小

创建时间:2014-08-20 投稿人: 浏览次数:1044

获取窗体显示区域大小

已我现在的了解,获取窗体显示区域大小有三种方法。

第一种方法:使用GetSystemMetrics函数

  1. GetSystemMetrics(SM_CXFULLSCREEN); //获取最大化窗体的显示区域宽度
  2. GetSystemMetrics(SM_CYFULLSCREEN);//获取最大化窗体的显示区域高度

第二种方法:使用GetClientRect函数

该函数的原型如下:

  1. BOOLGetClientRect(
  2.   HWNDhWnd,      //handle to window
  3.    LPRECTlpRect   //client coordinates
  4. );

书上没介绍该函数的使用方法,看MSDN的示例代码,经过测试,其使用方法如下:

  1. RECT rect;
  2. hdc = BeginPaint (hwnd, &ps);
  3. GetClientRect(hwnd, &rect);
  4. x = rect.right;
  5. y = rect.bottom;
  6. SetTextAlign(hdc, TA_RIGHT | TA_TOP);
  7. TextOut(hdc, 100, 0, szBuffer,wsprintf(szBuffer,TEXT("%5d"), x));
  8. TextOut(hdc, 100, cyChar,szBuffer, wsprintf(szBuffer,TEXT("%5d"), y));
  9. EndPaint (hwnd, &ps);

 

第三种方法:LOWORD和HIWORD宏

  1. caseWM_SIZE:
  2.     x = LOWORD(lParam);
  3.     y = HIWORD(lParam);


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。