怎么用CFileDialog 选择文件夹
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用CFileDialog 选择文件夹相关的知识,希望对你有一定的参考价值。
参考技术A CStringBrowseFolder(HWND
hWnd,
LPCTSTR
lpTitle)
char
szPath[MAX_PATH]=0;
BROWSEINFO
m_bi;
m_bi.ulFlags
=
BIF_RETURNONLYFSDIRS
|
BIF_STATUSTEXT;
m_bi.hwndOwner
=
hWnd;
m_bi.pidlRoot
=
NULL;
m_bi.lpszTitle
=
lpTitle;
m_bi.lpfn
=
NULL;
m_bi.lParam
=
NULL;
m_bi.pszDisplayName
=
szPath;
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();
//
释放接口
return
szPath;
=============================================================
调用
void
CFlorderDlg::OnButton1()
//
TODO:
Add
your
control
notification
handler
code
here
CString
SelectPath=BrowseFolder(this->m_hWnd,"选择目录");
AfxMessageBox(SelectPath);
用户在磁盘上寻找文件时,所历经的文件夹线路叫路径。路径分为绝对路径和相对路径。
1】绝对路径:从根文件夹开始的路径,以“\”作为开始。
2】相对路径:从当前文件夹开始的路径。
DOS程序命令中:d代表盘符
p代表路径
0(零)代表文件本身,%~dp0就是文件所在的完整路径
Windows应用中文件夹路径就是当打开文件夹时地址栏显示的信息,如
H:\Downloads\Game代表的就是Game文件夹的完整路径
以上是关于怎么用CFileDialog 选择文件夹的主要内容,如果未能解决你的问题,请参考以下文章