好,我们就看看怎么用浏览文件架对话框吧:
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);
}
呵呵! 用的很爽吧.继续关注下回啊!