MFC取得屏幕大小及设置对话框大小

来源:互联网 发布:约瑟夫环递推java 编辑:程序博客网 时间:2024/05/29 19:59

 

MFC之取得屏幕大小,设置对话框大小

要取得屏幕大小,可以用下面几个函数:
int cx = GetSystemMetrics(SM_CXFULLSCREEN);
int cy = GetSystemMetrics(SM_CYFULLSCREEN);

通过上边两个函数获取的是 显示屏幕的大小,但不包括任务栏等区域


int cx = GetSystemMetrics( SM_CXSCREEN );
int cy = GetSystemMetrics( SM_CYSCREEN );

这两个函数获取的是真正屏幕的大小。
要设置对话框的大小,可以如下实现:

CRect temprect(0,0,640,480);
CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE);

 

http://my.oschina.net/ypimgt/blog/61147

 

  CRect rect;
  GetWindowRect(&rect);
  this->MoveWindow(rect.left,rect.top,rect.Width(),422,TRUE);

  CString str;
  str.Format(L"%d,%d",rect.Width(),rect.Height());
  SetWindowText(str);
  
  /************************************************************************/
  /*第一个参数我不会用,一般设为NULL;
  x、y控件位置;cx、cy控件宽度和高度;
  nFlags常用取值:
  SWP_NOZORDER:忽略第一个参数;
  SWP_NOMOVE:忽略x、y,维持位置不变;
  SWP_NOSIZE:忽略cx、cy,维持大小不变;*/
  /************************************************************************/
  //CRect temprect(0,0,271,422); 
  //CWnd::SetWindowPos(NULL,0,0,temprect.Width(),temprect.Height(),SWP_NOZORDER|SWP_NOMOVE); //这里只需要改变窗口大小 所以第2 第3个参数可以忽略

 

 

http://www.360doc.com/content/08/1210/09/799_2090143.shtml

原创粉丝点击