Monday, April 6, 2015

Visual C++ MFC MDI 프로그램 시작시 뜨는 도큐먼트 없애기

자동으로 열리는 빈 윈도우를 없애는 방법은 의외로 간단하다. 클래스 위저드로 생성한 소스중 xxxApp.CPP라는 파일에 CWinApp에서 상속받은 클래스가 들어 있는데, 이 멤버 함수중 InitInstance() 안에 다음 코드가 존재한다.
ParseCommandLine(comInfo);
if( ProcessShellCommand(...))..

이 두 줄 사이에 다음 코드를 추가하면 프로그램이 처음 실행될 때 쉘명령(ShellCommand)으로 새로운 파일을 만들라는 'FileNew' 명령행이 인자로 들어오게 됩니다(도큐먼트를 지정하지 않았을 때). 이 경우에만 FileNothing으로 바꿔주면 빈 도큐먼트를 만들지 않으며 당연히 뷰/프레임도 보이지 않는다.

if(cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew )
  cmdInfo.m_nShellCommand = CCommandLineInfo::FileNothing;

No comments:

Post a Comment