2009-12-02 5 views
1

MFC를 사용하여 전체 화면 최상위 (화면 보호기) 창을 만들려고합니까? MFC에서 전체 화면 창을 만드는 방법은 무엇입니까? 나는 win32 응용 프로그램을 만들려고했고 전체 화면 맨 위에 가장 창을 만들 수 있었지만 나중에 MFC를 사용하여 만들고 싶습니다. 그래서 그 창에 다른 MFC 컨트롤을 넣을 수 있습니까?MFC로 전체 화면 창을 만드는 방법은 무엇입니까?

도와주세요.

감사합니다. Jim.

답변

1

당신은 당신이 원하는 일을하기 위해 여기에 예제 코드를 적용 할 수 있어야한다 :

MSDN: Initializing a dialog box

+0

이 예제는 나를 위해 확실히 작동 할 것입니다. 하지만 그 때문에 WndProc 메서드를 작성해야합니다. WndProc을 MFC 대화 상자 기반 응용 프로그램과 함께 사용할 수 있습니까? 방법? – Jim

+0

괜찮아. 알았어. WndPRoc는 MFC 프레임 워크에서 랩핑됩니다. MFC 응용 프로그램은 메시지 매핑에서 작동합니다. 그래서 난 onInitDialog 루틴에 코드를 작성해야합니다. 내가 맞습니까? – Jim

+0

맞습니다. 'OnInitDialog()'에서 초기화를 모두하십시오. –

1

내가 최대로 대화 상자 리소스의 경계를 제거하고 창을 보여주는 생각 (ShowWindow(SW_SHOWMAXIMIZED))은 어떻게해야 일.

대화 상자 리소스에서 시스템 모달 스타일을 최상으로 사용합니다.

2

나는 대화 상자 응용 프로그램과 함께합니다. 대화 상자 리소스의 리소스 편집기 속성에서 Border = None 및 Title Bar = False를 설정하여 모든 테두리 요소를 제거합니다. 의 OnInitDialog, 전체 바탕 화면에 대화 상자의 크기를 조정하려면 다음을 사용 :

CRect rcDesktop; 
rcDesktop.left = GetSystemMetrics(SM_XVIRTUALSCREEN); 
rcDesktop.right = rcDesktop.left + GetSystemMetrics(SM_CXVIRTUALSCREEN); 
rcDesktop.top = GetSystemMetrics(SM_YVIRTUALSCREEN); 
rcDesktop.bottom = rcDesktop.top + GetSystemMetrics(SM_CYVIRTUALSCREEN); 
MoveWindow(rcDesktop, FALSE); 

이 코드는 창을 최대화 달리, 여러 모니터에서 작동합니다.

윈도우를 최상으로 만드는 것에 대해 걱정할 필요가 없습니다. Windows는 다른 윈도우가없는 전용 데스크톱에 윈도우를 표시합니다.

+1

완벽. 그러나 두 대의 모니터가 있지만 한 대의 모니터 만 전체 화면으로 설정하려면 어떻게해야합니까? 미리 감사하십시오 – user8264

+0

@ user8264 당신은 모니터의 좌표를 가져와 MoveWindow에 사용해야합니다. –

+0

@ user8264 : 기본 모니터에서 전체 화면으로 표시하려면 : RECT rcDesktop; GetWindowRect (GetDesktopWindow(), rcDesktop); MoveWindow (hWnd, rcDesktop.left, rcDesktop.top, rcDesktop.right, rcDesktop.bottom, FALSE); – andreaciri

관련 문제