• VC++打开对话框选择一个文件夹路径 BROWSEINFO结构


     1 typedef struct _browseinfoW {
     2     HWND        hwndOwner;
     3     PCIDLIST_ABSOLUTE pidlRoot;
     4     LPWSTR       pszDisplayName;        // Return display name of item selected.
     5     LPCWSTR      lpszTitle;                     // text to go in the banner over the tree.
     6     UINT         ulFlags;                       // Flags that control the return stuff
     7     BFFCALLBACK  lpfn;
     8     LPARAM       lParam;                        // extra info that's passed back in callbacks
     9     int          iImage;                        // output var: where to return the Image index.
    10 } BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;

    hwndOwner: 浏览文件夹对话框的父窗体句柄

    pidlRoot:ITEMIDLIST结构的地址,包含浏览时的初始根目录,而且只有被指定的目录和其子目录才显示在浏览文件夹对话框中。该成员变量可以是NULL,在此时桌面目录将被使用。

    pszDisplayName:用来保存用户选中的目录字符串的内存地址。该缓冲区的大小缺省是定义的MAX_PATH(260)常量宏。

    lpszTitle:该浏览文件夹对话框的显示文本,用来提示该浏览文件夹对话框的功能、作用和目的。

    ulFlags:该标志位描述了对话框的选项。它可以为0,也可以是以下常量的任意组合。

    lpfn:应用程序定义的浏览对话框回调函数的地址。当对话框中的事件发生时,该对话框将调用回调函数。该参数可用为NULL。

    lParam:对话框传递给回调函数的一个参数指针。

    iImage:与选中目录相关的图像。该图像将被指定为系统图像列表中的索引值。


    ulFlags使用说明

    BIF_BROWSEFORCOMPUTER:返回计算机名。除非用户选中浏览器中的一个计算机名,否则该对话框中的“OK”按钮为灰色。

    BIF_BROWSEFORPRINTER:返回打印机名。除非选中一个打印机名,否则“OK”按钮为灰色。

    BIF_BROWSEINCLUDEFILES:浏览器将显示目录,同时也显示文件。

    BIF_DONTGOBELOWDOMAIN:在树形视窗中,不包含域名底下的网络目录结构。

    BIF_EDITBOX:浏览对话框中包含一个编辑框,在该编辑框中用户可以输入选中项的名字。

    BIF_RETURNFSANCESTORS:返回文件系统的一个节点。仅仅当选中的是有意义的节点时,“OK”按钮才可以使用。

    BIF_RETURNONLYFSDIRS:仅返回文件系统的目录。例如:在浏览文件夹对话框中,当选中任意一个目录时,该“OK”按钮可用,而当选中“我的电脑”或“网上邻居”等非有意义的节点时,“OK”按钮为灰色。

    BIF_STATUSTEXT:在对话框中包含一个状态区域。通过给对话框发送消息使回调函数设置状态文本。

    BIF_VALIDATE:当没有BIF_EDITBOX标志位时,该标志位被忽略。如果用户在编辑框中输入的名字非法,浏览对话框将发送BFFM_VALIDATEFAILED消息给回调函数。

    注意:所有标志可以配合使用例如: 
    BIF_EDITBOX|BIF_RETURNFSANCESTORS

    加上语句bi.ulFlags=BIF_BROWSEINCLUDEFILES;后不仅可以显示文件夹,还可以显示文件:

    BIF_DONTGOBELOWDOMAIN 这个标识去掉,在浏览文件夹时看不到zip文件了!!!

     转载:http://www.xuebuyuan.com/1871860.html

  • 相关阅读:
    Android的数据存储
    Servlet第一天
    JavaScript高级程序设计读书笔记(3)
    Interesting Papers on Face Recognition
    Researchers Study Ear Biometrics
    IIS 发生意外错误 0x8ffe2740
    Father of fractal geometry, Benoit Mandelbrot has passed away
    Computer vision scientist David Mumford wins National Medal of Science
    Pattern Recognition Review Papers
    盒模型bug的解决方法
  • 原文地址:https://www.cnblogs.com/chechen/p/6015070.html
Copyright © 2020-2023  润新知