MFC如何实现全屏效果

时间:2021-07-25 13:19:34

转载自:http://blog.csdn.net/chen825919148/article/details/7741804  算是做个笔记吧


方法一:

在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

MFC如何实现全屏效果
CRect rcTemp; 
rcTemp.BottomRight() = CPoint(cx, cy);
rcTemp.TopLeft() = CPoint(0, 0);
MoveWindow(&rcTemp);
MFC如何实现全屏效果


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

 

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

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

方法请看:

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

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


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