|
'열기'에 해당되는 글 1건
[폭주기관차, 2007/09/07 16:09, [Programming]/Visual C++ API/MFC]
CDocManager클래스를 상속받습니다.
그리고 DoPromptFileName 함수를 재정의 합니다. class CMyDocManager : public CDocManager { public: virtual BOOL DoPromptFileName( CString& fileName , UINT nIDSTitle , DWORD lFlags , BOOL bOpenFileDialog , CDocTemplate* pTemplate ); }; BOOL CMyDocManager::DoPromptFileName(CString& fileName, UINT nIDSTitle,DWORD lFlags, BOOL bOpenFileDialog, CDocTemplate* pTemplate) { CFileDialog dlgFile(bOpenFileDialog,"기본확장자"); CString title; VERIFY(title.LoadString(nIDSTitle)); dlgFile.m_ofn.Flags |= lFlags; dlgFile.m_ofn.lpstrFilter = "텍스트파일(*.txt)\0*.txt\0모든파일(*.*)\0*.*\0"; dlgFile.m_ofn.lpstrTitle = title; dlgFile.m_ofn.lpstrFile = fileName.GetBuffer(_MAX_PATH); INT_PTR nResult = dlgFile.DoModal(); fileName.ReleaseBuffer(); return nResult == IDOK; }; 그리고 CwinApp를 상속하는 클래스에서 InitInstance함수에서 다음을 추가합니다 m_pDocManager = new CmyaniDocManager; =>요걸 도큐먼트템플릿이 할당되기전에 추가해줍니다. 예) App -> InitInstance() m_pDocManager = new CMyDocManager; //요기에 추가하면됩니다. // 응용 프로그램의 문서 템플릿을 등록합니다. 문서 템플릿은 // 문서, 프레임 창 및 뷰 사이의 연결 역할을 합니다. CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMyDoc), RUNTIME_CLASS(CMainFrame), // 주 SDI 프레임 창입니다. RUNTIME_CLASS(CMyView)); if (!pDocTemplate) return FALSE; AddDocTemplate(pDocTemplate); 이렇게 해주면 이제 파일메뉴의 열기/저장을 클릭하면 자신이 원하는 필터를가진 파일열기다이알로그박스가 뜹니다~ 출처 : 데브피아 최우열(choi98772)님의 답변글 Trackback Address :: http://kongmks.cafe24.com/trackback/250
|
||





