没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
“打开文件夹”的程序
主要用到了 BROWSEINFO 结构和 ITEMIDLIST 结构,具体内容见下方说明
下面是程序段,为了能让大家看懂,写了详细的注释说明,有点乱哈~大家凑合着看了~
void CText01Dlg::OnButtonBlowse() //工程名和函数名换成自己的
{
UpdateData(true);
char szDir[MAX_PATH];//定义一个字符串用来接收文件名
BROWSEINFO bi;//建立一个 BROWSEINFO 对象
ITEMIDLIST*pidl;//创建一个结构指针
memset(&bi,0,sizeof BROWSEINFO);
bi.hwndOwner=m_hWnd;
bi.hwndOwner=this->m_hWnd; // 指定父窗口,在对话框显示期间,父窗口将被禁用
bi.pidlRoot=NULL;// 如果指定 NULL,就以"桌面"为根 pidlRoot:ITEMIDLIST 结构的
地址,包含浏览时的初始根目录
bi.pszDisplayName=szDir;//pszDisplayName:用来保存用户选中的目录字符串的内存地
址(缓冲区)
bi.lpszTitle="请选择一个 wav 文件"; // 这一行将显示在对话框的顶端
//描述窗口的选项:包含状态文本、显示目录和文件、只返回文件系统目录(不好用
呢)、返回系统一个节点、
bi.ulFlags=BIF_STATUSTEXT|BIF_BROWSEINCLUDEFILES|
BIF_RETURNONLYFSDIRS|BIF_RETURNFSANCESTORS ;
bi.lpfn=NULL;//lpfn:应用程序定义的浏览对话框回调函数的地址。当对话框中的事件
发生时,该对话框将调用回调函数。该参数可用为 NULL。
bi.lParam=0;//lParam:对话框传递给回调函数的一个参数指针。
bi.iImage=0;//iImage:与选中目录相关的图像。该图像将被指定为系统图像列表中的索
引值。
pidl=SHBrowseForFolder(&bi);
if(pidl==NULL)return;
// if(SHGetPathFromlDList(pidl,szDir))return;
else
SHGetPathFromIDList(pidl,szDir); //显示文件路径,不然 szDir 只保存一个文件名
m_strFileName=szDir;
UpdateData(FALSE);
}
1. BROWSEINFO
它是一个结构, 原型是
typedef struct _browseinfo {
资源评论
wuwulili12
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功