BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
{
return FALSE;
}
// 윈도우 스타일과 위치를 강제로 조정하라.
cs.style = WS_OVERLAPPED WS_POPUP WS_VISIBLE WS_MAXIMIZE;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN);
cs.cy = ::GetSystemMetrics(SM_CYSCREEN);
// 메뉴를 제거하라
CMenu* pMenu = new CMenu;
pMenu->Attach( cs.hMenu );
pMenu->DestroyMenu();
cs.hMenu = NULL;
delete pMenu;
return TRUE;
}
{
if( !CFrameWnd::PreCreateWindow(cs) )
{
return FALSE;
}
// 윈도우 스타일과 위치를 강제로 조정하라.
cs.style = WS_OVERLAPPED WS_POPUP WS_VISIBLE WS_MAXIMIZE;
cs.cx = ::GetSystemMetrics(SM_CXSCREEN);
cs.cy = ::GetSystemMetrics(SM_CYSCREEN);
// 메뉴를 제거하라
CMenu* pMenu = new CMenu;
pMenu->Attach( cs.hMenu );
pMenu->DestroyMenu();
cs.hMenu = NULL;
delete pMenu;
return TRUE;
}
MFC에서는 CFrame를 시작점으로 해서 나머지 윈도우가 나타나게 됩니다. CFrame를 상속받은 CMainFrame의 PreCreateWindow는 가상함수입니다. 또한 해당하는 역할은 윈도우를 보여주기 바로 전 단계에서 윈도우 스타일을 바꿀수 있죠.
위에서 바로 그점을 이용한 예제입니다.
덧글을 달아 주세요