티스토리 뷰


SDI나 MDI 구조의 경우 문서 열기를 재정의 해서 사용해야 할 때가 있다.

이럴때는...

1. XXXXAPP.cpp 파일을 열어서

코드의 가장 위에 있는 메시지를 아래와 같이 다시 정의한다.

BEGIN_MESSAGE_MAP(CCudaTestApp, CWinAppEx)	
ON_COMMAND(ID_APP_ABOUT, &CCudaTestApp::OnAppAbout)	
// 표준 파일을 기초로 하는 문서 명령입니다.	
ON_COMMAND(ID_FILE_NEW, &CWinAppEx::OnFileNew)		
//기존의 OnFileOpen 임.	
//ON_COMMAND(ID_FILE_OPEN, &CWinAppEx::OnFileOpen)	
//OnOpenDocument 함수를 호출할 때, 자신이 만든 함수를 호출하도록 	
//ID_FILE_OPEN를 사용자 임의로 재정의 한다.	
ON_COMMAND(ID_FILE_OPEN, &CCudaTestApp::OnFileOpen)			
// 표준 인쇄 설정 명령입니다.	
ON_COMMAND(ID_FILE_PRINT_SETUP, &CWinAppEx::OnFilePrintSetup)	
ON_COMMAND(ID_FILE_OPEN, &CCudaTestApp::OnFileOpen)
END_MESSAGE_MAP()


2. 클래스 위자드나 이벤트 재정의에서 다음과 같이 OnFileOpen 함수를 추가해 준다.



3. OnFileOpen함수 내부를 아래와 같이 작성. (원하는 파일 다이얼로그를 만들기 위한 코드를 여기에 작성한다)

void CCudaTestApp::OnFileOpen(){	
// TODO: 여기에 명령 처리기 코드를 추가합니다.	
char filter[] = "Raw files (*.raw)|*.raw||";	
CFileDialog dlg(TRUE, NULL, NULL, OFN_ALLOWMULTISELECT, filter);	
   if(dlg.DoModal() == IDOK){		
     for(POSITION pos = dlg.GetStartPosition(); pos !=NULL;)			
          OpenDocumentFile(dlg.GetNextPathName(pos));	
   }
}


현재 코드는 여러 파일을 동시에 읽어들일 수 있도록 해놓은 상태이다.

4. 컴파일 후 실행하면 원하는 파일 다이얼로그를 볼 수 있다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함