您的位置:首页 > 其它

通用对话框专题之浏览文件夹对话框

2008-02-19 19:19 295 查看
好,我们就看看怎么用浏览文件架对话框吧:

void CComDialogDlg::OnBtnFolderDlg()
{
// TODO: Add your control notification handler code here
UpdateData();

char szPath[MAX_PATH] = {0};
BROWSEINFO m_bi;

m_bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_STATUSTEXT; //标志
m_bi.hwndOwner = m_hWnd; //对话框窗口拥有者
m_bi.pidlRoot = NULL; //指向 ITEMIDLIST 结构,标识起始目录
m_bi.lpszTitle = "文件夹浏览..."; //显示的标题名字
m_bi.lpfn = NULL; //回调函数
m_bi.lParam = NULL; //传给回调函数的参数
m_bi.pszDisplayName = szPath; //选择文件夹保存的BUFFER
//m_bi.iImage 返回的文件夹图标索引

LPITEMIDLIST pidl = ::SHBrowseForFolder( &m_bi );
if ( pidl )
{
if( !::SHGetPathFromIDList ( pidl, szPath ) ) szPath[0] = 0;

IMalloc * pMalloc = NULL;
if ( SUCCEEDED ( ::SHGetMalloc( &pMalloc ) ) ) // 取得IMalloc分配器接口
{
pMalloc->Free( pidl ); // 释放内存
pMalloc->Release(); // 释放接口
}
}

m_strString = szPath;

UpdateData(FALSE);
}

呵呵! 用的很爽吧.继续关注下回啊!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: