浏览文件夹

void CMy123View::OnFolderOpen()
{

 BROWSEINFO bInfo;//定义一个BROWSEINFO结构体对象,BROWSEINFO结构中包含有用户选中目录的重要信息。


 ZeroMemory(&bInfo, sizeof(bInfo));//The ZeroMemory function fills a block of memory with zeros


 bInfo.hwndOwner = m_hWnd;//Handle to the owner window for the dialog box;


 //bInfo.lpszTitle = _T("请选择路径: ");//_T("")是一个宏,定义于tchar.h下,他的作用是让你的程序支持Unicode编码


 bInfo.ulFlags = BIF_RETURNONLYFSDIRS; //BIF_RETURNONLYFSDIRS:Only return file system directories   

 

 LPITEMIDLIST lpDlist; //用来保存返回信息的IDList


 lpDlist = SHBrowseForFolder(&bInfo) ; //显示选择对话框,将文件夹信息传递给lpDlist

SHGetPathFromIDList(lpDlist, chPath);//把项目标识列表转化成char型字符串
strPath = chPath; //将TCHAR类型的字符串转换为CString类型的字符串


 。。。
}

 

 

BROWSEINFO结构体:

 

Contains parameters for the SHBrowseForFolder function and receives information about the folder selected by the user. 包含了SHBrowseForFolder函数的参数,接收用户所选文件夹的信息。

 

LPITEMIDLIST:

指向ITEMIDLIST结构体的指针;

 

typedef struct _ITEMIDLIST {
    SHITEMID mkid;
} ITEMIDLIST, * LPITEMIDLIST;
typedef const ITEMIDLIST * LPCITEMIDLIST;

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值