공부/MFC

[MFC] 전체화면 사용

청린수아 2022. 11. 24. 14:18

 

//출처 :  https://learn.microsoft.com/ko-kr/archive/blogs/pusu/how-to-add-full-screen-mode-in-your-mfc-app-visual-studio-2008-or-later

 

 

MFC SDI 사용시 전체화면 사용하고 싶을때 사용

화면 가득차게 됨

 

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
   ...

   EnableFullScreenMode(0);
   EnableFullScreenMainMenu(FALSE);
   ShowFullScreen();
}

 

 

// 단점 :  전체화면 닫기 툴바가 강제로 생김

 

 

//수정본 

 

기존 함수는  afxfullscreenimpl.cpp 의   void CFullScreenImpl::ShowFullScreen(CFrameWnd* pFrame)  함수에서 메뉴를 생성함

 

대충 그 생성부분

 

이부분이 없으면 전체화면 메뉴가 나타나지 않음

 

저부분만 따로 복사해서 클래스 생성하여 사용

 

MainFrm.h 에서  메뉴관련 모두 제거 

//CMFCMenuBar       m_wndMenuBar;
//CMFCToolBar       m_wndToolBar;
//CMFCStatusBar     m_wndStatusBar;

 

MainFrm.cpp 의 OnCreate에서 메뉴관련부분 모두 제거하고 마지막부분에

 

CFullScreenImplUser cFullScreen(0 , FALSE);
cFullScreen.ShowFullScreen(this);

 

추가

 

되돌리고 싶을때

 

cFullScreen.RestoreState(this);

 

 

FullScreenImplUser.cpp
0.01MB
FullScreenImplUser.h
0.00MB