MFC实现全屏功能代码 MFC实现全屏功能代码实例
人气:0想了解MFC实现全屏功能代码实例的相关内容吗,在本文为您仔细讲解MFC实现全屏功能代码的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:MFC,全屏功能,代码,下面大家一起来学习吧。
windows应用程序中有很多的播放器都有快捷键控制窗口以全屏幕的方式显示。MFC实现给应用程序加上全屏幕的功能,并不需要很多的代码,比如给一个基于对话框的应用程序加上全屏功能只需要以下少量代码就可以实现了。
实现代码如下所示:
void CFullScreenDlg::FullScreenView(void) { RECT rectDesktop; WINDOWPLACEMENT wpNew; if (!IsFullScreen()) { // We'll need these to restore the original state. GetWindowPlacement (&m_wpPrev); //Adjust RECT to new size of window ::GetWindowRect ( ::GetDesktopWindow(), &rectDesktop ); ::AdjustWindowRectEx(&rectDesktop, GetStyle(), FALSE, GetExStyle()); // Remember this for OnGetMinMaxInfo() 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 ); } void CFullScreenDlg::OnGetMinMaxInfo(MINMAXINFO* lpMMI) { // TODO: Add your message handler code here and/or call default 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); } bool CFullScreenDlg::IsFullScreen(void) { // 记录窗口当前是否处于全屏状态 return m_bFullScreen; }
加载全部内容