用VC++6实现文件夹浏览对话框

// 所有原创文章转载请注明作者及链接
//
blackboycpp(AT)gmail.com
// QQ群: 135202158

 

 

这种对话框貌似没有现成的类或控件可以用,

用以下的方法可以轻松实现一个:

 

在对话框上拖一个按钮, Caption为“浏览”, 双击之,添加以下代码

void CBrowserFolderDlg::OnButton1() { // TODO: Add your control notification handler code here char buff[_MAX_PATH] = {'/0'}; BROWSEINFO info; info.hwndOwner = this->GetSafeHwnd(); info.pidlRoot = NULL; info.pszDisplayName = buff; info.lpszTitle = "Choose folder:"; info.ulFlags = BIF_RETURNONLYFSDIRS; //info.ulFlags = BIF_RETURNONLYFSDIRS | BIF_NEWDIALOGSTYLE; info.lpfn = NULL; info.lParam = NULL; info.iImage = NULL; ITEMIDLIST *idl; CoInitialize(NULL); idl = SHBrowseForFolder(&info); if(idl) { char path[_MAX_PATH] = {'/0'}; SHGetPathFromIDList(idl, path); SetDlgItemText(IDC_PATH, path); IMalloc *im; SHGetMalloc(&im); im->Free(idl); } CoUninitialize(); } 

你可能感兴趣的:(用VC++6实现文件夹浏览对话框)