2014-04-15 3 views
0

내 MFC SDI 응용 프로그램을 비활성 상태로 시작해야합니다. 화면 키보드입니다. 직선에서 Win32에서MFC SDI 앱을 비활성 상태로 시작하는 방법?

단순히 ShowWindow(hWnd, SW_SHOWNA);

이 MFC에서 작동하지 않습니다를 호출 할 간단하다. 나는 여러 가지를 시도했다 :

재정 OnActivate(), OnActivateApp(), OnCreate(), CMainFramePreCreateWindow().

또한 내 앱 클래스에서 LoadWindowPlacement()의 재정의를 시도했습니다.

AllowSetForegroundWindow(ASFW_ANY); 
::SetForegroundWindow(::GetNextWindow(::GetDesktopWindow(), GW_HWNDPREV)); 

운 :

또한 같은 것들을 시도했다.

+0

비활성 상태 란 무엇입니까? – zar

+0

이것은 일반적으로 사용자 자신의 코드입니다. 찾아보십시오 pFrame-> ShowWindow (SW_SHOW); –

답변

2

MFC 응용 프로그램에는 CWinApp :: m_nCmdShow라는 특수 매개 변수가 있습니다. 이 매개 변수는 일반적으로 SW_SHOW로 설정되며 응용 프로그램이 표시되고 활성화됩니다. 매개 변수는 STARTUPINFO에서 제공됩니다. 그것은 WinMain을 통해 정의되며 MFC는 CWinApp :: m_nCmdShow에 저장합니다.

프레임 창을 만들고 표시해야 할 때 프레임 워크의 깊이에 사용됩니다.

그래서 창을 만들기 전에 설정하십시오. 응용 프로그램을 보여주고 싶어하지만 활성화하지 않으려면, 당신은이를 검색 할 경우, 당신은 기사의 무리를 찾을

m_nCmdShow = SW_SHOWNA; 

로 설정합니다.