MFC實(shí)現(xiàn)全屏功能代碼實(shí)例
windows應(yīng)用程序中有很多的播放器都有快捷鍵控制窗口以全屏幕的方式顯示。MFC實(shí)現(xiàn)給應(yīng)用程序加上全屏幕的功能,并不需要很多的代碼,比如給一個(gè)基于對(duì)話框的應(yīng)用程序加上全屏功能只需要以下少量代碼就可以實(shí)現(xiàn)了。
實(shí)現(xiàn)代碼如下所示:
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 { // 退出全屏幕時(shí)恢復(fù)到原來(lái)的窗口狀態(tài) 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) { // 記錄窗口當(dāng)前是否處于全屏狀態(tài) return m_bFullScreen; }
相關(guān)文章
C++如何判斷一個(gè)數(shù)字是否為質(zhì)數(shù)
這篇文章主要為大家詳細(xì)介紹了C++如何判斷一個(gè)數(shù)字是否為質(zhì)數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03Qt 數(shù)據(jù)庫(kù)QSqlDatabase使用示例
本文主要介紹了Qt數(shù)據(jù)庫(kù)QSqlDatabase使用示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-12-12C++ 中消息隊(duì)列函數(shù)實(shí)例詳解
這篇文章主要介紹了C++ 中消息隊(duì)列函數(shù)實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06OpenCV實(shí)現(xiàn)相機(jī)標(biāo)定示例詳解
相機(jī)標(biāo)定是圖像處理的基礎(chǔ),現(xiàn)在市面上買到的相機(jī),都存在著或多或少的畸變。本文將介紹如何利用一系列棋盤(pán)照片進(jìn)行攝像機(jī)標(biāo)定的,感興趣的小伙伴可以關(guān)注一下2021-11-11