MFC实现全屏功能代码实例
windows应用程序中有很多的播放器都有快捷键控制窗口以全屏幕的方式显示。MFC实现给应用程序加上全屏幕的功能,并不需要很多的代码,比如给一个基于对话框的应用程序加上全屏功能只需要以下少量代码就可以实现了。
实现代码如下所示:
voidCFullScreenDlg::FullScreenView(void)
{
RECTrectDesktop;
WINDOWPLACEMENTwpNew;
if(!IsFullScreen())
{
//We'llneedthesetorestoretheoriginalstate.
GetWindowPlacement(&m_wpPrev);
//AdjustRECTtonewsizeofwindow
::GetWindowRect(::GetDesktopWindow(),&rectDesktop);
::AdjustWindowRectEx(&rectDesktop,GetStyle(),FALSE,GetExStyle());
//RememberthisforOnGetMinMaxInfo()
m_rcFullScreenRect=rectDesktop;
wpNew=m_wpPrev;
wpNew.showCmd=SW_SHOWNORMAL;
wpNew.rcNormalPosition=rectDesktop;
m_bFullScreen=true;
}
else
{
//退出全屏幕时恢复到原来的窗口状态
m_bFullScreen=false;
wpNew=m_wpPrev;
}
SetWindowPlacement(&wpNew);
}
voidCFullScreenDlg::OnGetMinMaxInfo(MINMAXINFO*lpMMI)
{
//TODO:Addyourmessagehandlercodehereand/orcalldefault
if(IsFullScreen())
{
lpMMI->ptMaxSize.y=m_rcFullScreenRect.Height();
lpMMI->ptMaxTrackSize.y=lpMMI->ptMaxSize.y;
lpMMI->ptMaxSize.x=m_rcFullScreenRect.Width();
lpMMI->ptMaxTrackSize.x=lpMMI->ptMaxSize.x;
}
CDialog::OnGetMinMaxInfo(lpMMI);
}
boolCFullScreenDlg::IsFullScreen(void)
{
//记录窗口当前是否处于全屏状态
returnm_bFullScreen;
}热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志