MFC實現全屏功能代碼執行個體_C 語言

來源:互聯網
上載者:User

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 defaultif (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;}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.