zoukankan      html  css  js  c++  java
  • CFileDialogST v1.0

    摘要 CFileDialogST是使用SDK api实现的MFC CFileDialog类的重新实现。第一个有价值的功能是能够显示新的Windows 2000打开/保存通用对话框!CFileDialogST还包含一个函数,可以方便地显示用于选择文件夹的通用对话框。 这个类支持Unicode,并且与原始的MFC实现完全兼容。构造函数和函数具有相同的名称和参数列表,因此使用新的构造函数应该很容易。 CFileDialogST功能 cfiledialog (BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL) 构造一个CFileDialogST对象。最常用的参数可以在参数列表中传递。隐藏,复制Code

    // Parameters:
    //  [IN]    bOpenFileDialog
    //           Set to TRUE to construct a File Open dialog box or
    //           FALSE to construct a File Save As dialog box.
    //  [IN]    lpszDefExt
    //           The default filename extension.
    //           If the user does not include an extension in the Filename edit box,
    //           the extension specified by lpszDefExt is automatically appended
    //           to the filename.
    //           If this parameter is NULL, no file extension is appended.
    //  [IN]    lpszFileName
    //           The initial filename that appears in the filename edit box.
    //           If NULL, no filename initially appears
    //  [IN]    dwFlags
    //           A combination of one or more flags that allow 
    //           you to customize the dialog box.
    //  [IN]    lpszFilter
    //           A series of string pairs that specify filters you can apply to the file.
    //           If you specify file filters, only selected files will appear in the
    //           Files list box.
    //  [IN]    pParentWnd
    //           Pointer to the owner window for the dialog box. Can be NULL.
    //
    CFileDialogST(BOOL bOpenFileDialog, LPCTSTR lpszDefExt, 
      LPCTSTR lpszFileName, DWORD dwFlags, 
      LPCTSTR lpszFilter, CWnd* pParentWnd)

    CFileDialogST () 构造一个CFileDialogST对象。所有必需的参数必须通过手动访问m_ofn和m_bOpenFileDialog公共成员来初始化。 DoModal () 此函数显示文件选择对话框,并允许用户进行选择。m_ofn公共结构的所有必需字段必须被填充。这可以通过使用类构造函数或直接访问结构来完成。同样,公共变量m_bOpenFileDialog必须设置为TRUE以获得一个打开的对话框,或者设置为FALSE以获得一个保存对话框。隐藏,复制Code

    // Return value:
    //  IDOK
    //    The user has selected a filename.
    //  IDCANCEL
    //    The user has closed the dialog without selecting any filename.
    //
    int DoModal()

    装运箱GetPathName()常量 此函数返回所选文件的完整路径。隐藏,复制Code

    // Return value:
    //   A CString object containing the full path of the file.
    //
    CString GetPathName() const

    装运箱GetFileName()常量 这个函数返回所选文件的文件名。隐藏,复制Code

    // Return value:
    //   A CString object containing the name of the file.
    //
    CString GetFileName() const

    装运箱GetFileTitle()常量 这个函数返回所选文件的标题。隐藏,复制Code

    // Return value:
    //   A CString object containing the title of the file.
    //
    CString GetFileTitle() const

    装运箱GetFileExt()常量 此函数返回所选文件的扩展名。隐藏,复制Code

    // Return value:
    //   A CString object containing the extension of the file.
    //
    CString GetFileExt() const

    装运箱GetFileDir()常量 这个函数返回所选文件的目录(不带驱动器)。隐藏,复制Code

    // Return value:
    //   A CString object containing the directory (without drive) of the file.
    //
    CString GetFileDir() const

    装运箱GetFileDrive()常量 这个函数返回所选文件的驱动器。隐藏,复制Code

    // Return value:
    //   A CString object containing the drive of the file.
    //
    CString GetFileDrive() const

    位置GetStartPosition()常量 这个函数返回文件名列表中第一个元素的位置。隐藏,复制Code

    // Return value:
    //   A POSITION value that can be used for iteration.
    //   NULL if the list is empty.
    //
    POSITION GetStartPosition() const

    装运箱GetNextPathName (POSITION&pos)常量 此函数返回下一个选定文件的完整路径。隐藏,复制Code

    // Parameters:
    //   [IN]    pos
    //            A reference to a POSITION value 
    //            returned by a previous GetNextPathName 
    //            or GetStartPosition function call. 
    //            NULL if the end of the list has been reached.
    //
    // Return value:
    //   A CString object containing the full path of the file.
    //
    CString GetNextPathName(POSITION& pos) const

    LPCTSTR lpszStartPath = NULL, UINT ulFlags = BIF_RETURNFSANCESTORS | BIF_RETURNONLYFSDIRS, CWnd* pParentWnd = NULL 这个函数允许用户选择一个文件夹。隐藏,复制Code

    // Parameters:
    //   [IN]    lpszTitle
    //             Address of a null-terminated string that is displayed above the 
    //             tree view control in the dialog box. This string can be used to 
    //             specify instructions to the user. Can be NULL.
    //   [IN]    lpszStartPath
    //             Address of a null-terminated string containing the initial folder
    //             to open. Can be NULL.
    //   [IN]    ulFlags
    //             Flags specifying the options for the dialog box.
    //   [IN]    pParentWnd
    //             Pointer to the owner window for the dialog box. Can be NULL.
    //
    // Return value:
    //   IDOK
    //     The user has selected a folder and pressed OK. A call
    //     to GetSelectedFolder() will return the selected folder.
    //   IDCANCEL
    //     The user has closed the dialog without selecting any folder.
    //
    int SelectFolder(LPCTSTR lpszTitle, LPCTSTR lpszStartPath, 
                                   UINT ulFlags, CWnd* pParentWnd)

    装运箱GetSelectedFolder()常量 这个函数通过调用SelectFolder返回用户选择的文件夹。隐藏,复制Code

    // Return value:
    //    A CString object containing the selected folder.
    //    Without a previous call to SelectFolder this string can be empty or
    //    reflect the last selected folder.
    //
    CString GetSelectedFolder() const

    例子 演示应用程序CFileDialogST演示了如何打开文件(即使有多重选择)、询问要保存的文件名以及如何浏览文件夹。 想要在一个DLL中包含CFileDialogST ? CFileDialogST可以从DLL内部使用。你需要从你的DLL CFileDialogST导出。包括在您的DLL的项目,以下文件: FileDialogST.h FileDialogST.cpp 添加到您的DLL的项目设置,以下定义: _CMLHTDLL_NOLIB_ _CMLHTDLL_BUILDDLL_ 从FileDialogST。h,评论一下下面的句子:复制Code

    #define _FILEDIALOGST_NODLL_

    然后,根据生成的.lib文件更新各种#pragma注释(lib, "?? ")。 讲话 这种体系结构使得向类中添加其他特性成为可能。例如,可以添加对select-computer命令对话框的支持。如果有人实现了新特性,我很乐意在下一个CFileDialogST演示应用程序中包含他的代码。 本文转载于:http://www.diyabc.com/frontweb/news12444.html

  • 相关阅读:
    磁盘分区对齐的重要性
    linux命令详解:jobs命令
    linux命令详解:df命令
    linux命令详解:cat命令
    <mvc:annotation-driven />注解意义
    maven install 时提示“程序包 javax.crypto不存在”
    Java 字典排序
    Linux查看用户登陆历史记录
    警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property ..
    Eclipse启动tomcat 报“ A child container failed during start”
  • 原文地址:https://www.cnblogs.com/Dincat/p/13474266.html
Copyright © 2011-2022 走看看