如果是选择文件的话那么正如wwwgmc所写的那样。
但是如果提问者说的是路径选择对话框则应是如下代码(代码中采用控制台的形式给出SHBrowseForFolder()的用法):
#include
#include
#include
int main()
{
BROWSEINFO stInfo = {NULL};
LPCITEMIDLIST pIdlst;
TCHAR szPath[MAX_PATH];
stInfo.ulFlags = BIF_DONTGOBELOWDOMAIN | BIF_RETURNONLYFSDIRS | BIF_USENEWUI;
stInfo.lpszTitle= "请选择路径:";
pIdlst = SHBrowseForFolder(&stInfo);
if(!pIdlst) return 1;
if(!SHGetPathFromIDList(pIdlst, szPath)) return 1;
printf(szPath);
return 0;
}
用CFileDialog,在MSDN中有详细说明。代码如下:
.......
{
CFileDialog dlg(TRUE, "txt", NULL,OFN_HIDEREADONLY | OFN_CREATEPROMPT, "txt文件(*.txt)|*.txt|所有(*.*)|*.*||", NULL);
dlg.m_ofn.lpstrTitle="请选择路径";//对话框标题
if(dlg.DoModal() == IDCANCEL)
return;
CString dllpath=dlg.GetPathName();//路径保存在一个变量中。
}