BLOG main image
전체 (276)
[Computer] (42)
[Programming] (62)
[DBMS] (26)
[Operating System] (21)
[Study English] (8)
[For money] (28)
[Interest] (89)
«   2009/11   »
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          
77915 Visitors up to today!
Today 12 hit, Yesterday 95 hit
'제목변경'에 해당되는 글 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
Name
Password
Homepage
Secret
*1