工控编程吧
标题:
29上位机VC MFC对话框实现全屏与还原效果
[打印本页]
作者:
qq263946146
时间:
2015-11-17 21:04
标题:
29上位机VC MFC对话框实现全屏与还原效果
(, 下载次数: 8)
上传
点击文件名下载附件
29上位机VC MFC对话框实现全屏与还原效果
功能展示
对话框其实系统默认有自带最大化按钮给用户操作,但有时我们需要通过代码根据需要自动让窗口最大化与还原,要如何实现呢?我们当前这例程就实现了这功能,效果如图
要点提示
最大化窗口,无非是将窗口充斥整个桌面,也就是说只要将窗口大小设置成桌面一样大小,便可方便快速实现程序的全屏效果,设置窗口大小可以用MoveWindow()函数,但如何获取桌面的大小呢?我这里可以使用GetSystemMetrics()函数,这个函数可以跟随多种参数,实现不同尺寸的获取,具体我们可以MSDN查阅参数的说明;例程中用到的参数是SM_CXSCREEN, SM_CYSCREEN,表示获取桌面的长的宽;
至于还原窗口大小,我们可以大窗口最大化前保存窗口大小及位置,到时再还原便可
实现功能
1.新建基于对话框的应用程序
2.添加一变量CRect m_OriRect;//保存窗口原始大小及位置,再初始化GetWindowRect(m_OriRect);
3.最后是最大化与还原的实现两个函数,任意位置调用此函数就可以了;
<font size="4">void CGkbc8Dlg::OnFullscreen()
{
int cx,cy;
CRect rect;
GetWindowRect(&rect);
cx = GetSystemMetrics(SM_CXSCREEN);
cy = GetSystemMetrics(SM_CYSCREEN);
if(rect.Width()<cx || rect.Height()<cy)
{
GetWindowRect(m_OriRect);
MoveWindow(0,0,cx,cy );
}
}
void CGkbc8Dlg::OnRestore()
{
MoveWindow(m_OriRect);
}
</font>
复制代码
下面我们来演示功能的实现过程
[iqiyi]http://player.video.qiyi.com/18ea8ee25ae62ff420e5e75eccf5e555/0/0/w_19rt9nc3lt.swf-albumId=4902686509-tvId=4902686509-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
源码及视频下载
(仅在电脑可见)
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4