设置windows程序客户区大小(个人感觉很好用以后就直接拿来用得了)

来源:互联网 发布:gis数据下载 编辑:程序博客网 时间:2024/04/29 09:31


void SetClientSize(HWND hWnd,int width, int height)
{

  if(!hWnd)

  {

     MessageBox(NULL, "设置窗口失败", NULL, 1);

     exit(1);

  }
  RECT  rectProgram,rectClient;
  GetWindowRect(hWnd, &rectProgram);   //获得程序窗口位于屏幕坐标
  GetClientRect(hWnd, &rectClient);      //获得客户区坐标
  //非客户区宽,高
  int nWidth = rectProgram.right - rectProgram.left -(rectClient.right - rectClient.left); 
  int nHeiht = rectProgram.bottom - rectProgram.top -(rectClient.bottom - rectClient.top); 
  nWidth += width;
  nHeiht += height;
  rectProgram.right =  nWidth;
  rectProgram.bottom =  nHeiht;
  int showToScreenx = GetSystemMetrics(SM_CXSCREEN)/2-nWidth/2;    //居中处理
  int showToScreeny = GetSystemMetrics(SM_CYSCREEN)/2-nHeiht/2;
  MoveWindow(hWnd, showToScreenx, showToScreeny, rectProgram.right, rectProgram.bottom, false);
}

0 0
原创粉丝点击