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 祝福语驱散霉运的话简短