티스토리 뷰
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. 컴파일 후 실행하면 원하는 파일 다이얼로그를 볼 수 있다.
'전공 > MFC 삽질들..' 카테고리의 다른 글
CScrollView 기본 설정 (0) | 2011.06.10 |
---|---|
Cuda threadIdx, blockIdx (0) | 2010.11.23 |
[MFC] 전역 변수 선언 (4) | 2010.11.05 |
[MFC] 폴더브라우저 다이얼로그. (0) | 2010.11.05 |
error C2065: 'IDD_' : 선언되지 않은 식별자입니다. (4) | 2010.01.26 |
댓글