WEB开发网
开发学院软件开发VC 使用GDI+的MFC应用程序的文件打开和保存对话框 阅读

使用GDI+的MFC应用程序的文件打开和保存对话框

 2007-03-17 21:58:43 来源:WEB开发网   
核心提示: 去掉调用基类信息处理器的ID_FILE_OPEN命令的缺省映射并将该命令映射到在一个CWinApp派生类中处理(译注:即Demo程序中的CDemoApp类),void CDemoApp::OnFileOpen(){CGdiplusFileOpenDialog dlgFile;if(IDOK

去掉调用基类信息处理器的ID_FILE_OPEN命令的缺省映射并将该命令映射到在一个CWinApp派生类中处理(译注:即Demo程序中的CDemoApp类)。

    void CDemoApp::OnFileOpen()
    {
    CGdiplusFileOpenDialog dlgFile;
    if(IDOK == dlgFile.DoModal())
    {
    OpenDocumentFile(dlgFile.GetPathName());
    }
    }

覆写CDocument::OnOpenDocument虚函数。

class CDemoDoc : public CDocument
    {
    // ...
    // Attributes
    protected:
    Image* m_pImage;
    // Operations
    public:
    Image* GetImage() {return m_pImage;}
    // ...
    // Overrides
    // ClassWizard generated virtual function overrides
    //{{AFX_VIRTUAL(CDemoDoc)
    public:
    virtual BOOL OnOpenDocument(LPCTSTR pszPathName);
    //}}AFX_VIRTUAL
    // ...
    };
   
BOOL CDemoDoc::OnOpenDocument(LPCTSTR pszPathName)
    {
    SafeDeleteImage();
    m_pImage = Image::FromFile(CString(pszPathName).AllocSysString());
    return (Ok == m_pImage->GetLastStatus());
    }

使用CGdiplusFileSaveAsDialog

在CDocument派生类(译注:即Demo程序中的CDemoDoc类)中映射ID_FILE_SAVE_AS命令。在CGdiplusFileSaveAsDialog::DoModal返回后,调用GetPathName和GetCodecCLSID以传递(路径、文件名、Codec CLSID)到Image::Save方法。

上一页  1 2 3 4 5 6  下一页

Tags:使用 GDI MFC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接