posts - 131, comments - 12, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

mfc如何让对话框全屏

Posted on 2012-10-24 16:48 盛胜 阅读(454) 评论(0)  编辑 收藏 引用

方法一:

在Dialog::OnInitDialog()中加入:

ModifyStyle(WS_CAPTION,0,0);  // 如果只是要普通的全屏,不想去掉标题栏,就不用第一个语句
SendMessage(WM_SYSCOMMAND,SC_MAXIMIZE,0);

 

不过这种方法不方便调整控件的位置,此时可以考虑方法二

 

方法二:
先取得分辨率,

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



再用MoveWindow

CRect rcTemp; 
rcTemp.BottomRight() = CPoint(cx, cy);
rcTemp.TopLeft() = CPoint(0, 0);
MoveWindow(&rcTemp);


方法二因为获得了窗口与屏幕的参数,所以当想调整Dialog上的一些控件位置时就方便许多。

 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

不过呢,只能在OnSize里面自己调整控件的大小的位置,需要自己一个一个地调整所有需要调整的控件的大小和位置。

方法请看:

  三步解决MFC窗口变动后控件的大小

一 、在头文件中定义 POINT Old;//存放对话框的宽和高。
二 、添加 WM_SIZE消息:
三 、添加reseze函数


http://blog.csdn.net/Small_hunter/article/details/5640101
中有详细代码


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理