MFC : MDI 프로그램 시작 시 차일드 윈도우 띄우지 않기
프로그래밍 2008. 3. 2. 15:58 |원문 : http://kr.blog.yahoo.com/his636/1305370
MDI 프로그램을 만들면 항상 child window 가 뜬 채로 시작하는데,
파일을 open 하였을 경우에만 창이 나타나도록 하고 싶다.
이를 제어하기 위해서는
BOOL CXXXApp::InitInstance()
함수에서 다음 부분을 수정하면 된다.
이해를 돕기 위해 CCommandLineInfo 클래스의 정의를 보면 다음 부분을 볼 수 있다.
m_nShellCommand 변수에 기본적으로 할당된 값은 FileNew 이다.
이 값을 자신이 원하는 값으로 변경하여 주면 된다.
MDI 프로그램을 만들면 항상 child window 가 뜬 채로 시작하는데,
파일을 open 하였을 경우에만 창이 나타나도록 하고 싶다.
이를 제어하기 위해서는
BOOL CXXXApp::InitInstance()
함수에서 다음 부분을 수정하면 된다.
CCommandLineInfo cmdInfo;
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing; // 이부분 추가
ParseCommandLine(cmdInfo);
cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing; // 이부분 추가
ParseCommandLine(cmdInfo);
이해를 돕기 위해 CCommandLineInfo 클래스의 정의를 보면 다음 부분을 볼 수 있다.
enum { FileNew, FileOpen, FilePrint, FilePrintTo, FileDDE, AppRegister,
AppUnregister, FileNothing = -1 } m_nShellCommand;
AppUnregister, FileNothing = -1 } m_nShellCommand;
m_nShellCommand 변수에 기본적으로 할당된 값은 FileNew 이다.
이 값을 자신이 원하는 값으로 변경하여 주면 된다.