如何让SHBrowseForFolder弹出指定的目录
2008-12-16 19:48
501 查看
BOOL CDel_DlgDlg::BrowseDirectory(HWND hwnd, LPSTR lpszDir, DWORD dwLen)
{
lstrcpyn(gszRootDir, lpszDir, sizeof(gszRootDir)) ;
BROWSEINFO bi;
bi.hwndOwner=hwnd;
bi.pidlRoot=0;
bi.pszDisplayName=0;
bi.lpszTitle="Browse Folder";
bi.lpfn=BrowseCallbackProc;
bi.lParam=0;
bi.ulFlags= BIF_STATUSTEXT | BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pidl ;
if(pidl = SHBrowseForFolder(&bi))
{
SHGetPathFromIDList(pidl, lpszDir);
return TRUE ;
}
return FALSE ;
}
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT msg, LPARAM lp, LPARAM pData)
{
if (msg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)gszRootDir);
}
return 0;
}
{
lstrcpyn(gszRootDir, lpszDir, sizeof(gszRootDir)) ;
BROWSEINFO bi;
bi.hwndOwner=hwnd;
bi.pidlRoot=0;
bi.pszDisplayName=0;
bi.lpszTitle="Browse Folder";
bi.lpfn=BrowseCallbackProc;
bi.lParam=0;
bi.ulFlags= BIF_STATUSTEXT | BIF_RETURNONLYFSDIRS;
LPITEMIDLIST pidl ;
if(pidl = SHBrowseForFolder(&bi))
{
SHGetPathFromIDList(pidl, lpszDir);
return TRUE ;
}
return FALSE ;
}
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT msg, LPARAM lp, LPARAM pData)
{
if (msg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,(LPARAM)gszRootDir);
}
return 0;
}
相关文章推荐
- SHBrowseForFolder如何设定初始目录
- SHBrowseForFolder如何改变弹出窗口的大小
- 微软帮助自带的弹出文件浏览对话框SHBrowseForFolder
- SHBrowseForFolder目录选择对话框
- 如何打开磁盘目录对话框(BrowseForFolder)
- SHBrowseForFolder弹出的选择文件夹对话框改变默认title
- SHBrowseForFolder来初始化选择目录
- DELPHI中通过SHBrowseForFolder函数实现选择目录
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- MFC选择目录SHBrowseForFolder
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- MFC选择目录SHBrowseForFolder
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- MFC选择目录SHBrowseForFolder
- MFC选择目录SHBrowseForFolder选择文件CFileDialog对话框设置默认路径
- 使用sh脚本如何替换指定目录下所有文件中的指定字符串
- 在Windows中获取指定目录的API函数SHGetSpecialFolderPath
- 一种批量读取文件的方法——SHBrowseForFolder
- 转载:浏览文件夹对话框,演示SHBrowseForFolder用法
- VC选择文件夹路径对话框 - SHBrowseForFolder 函数