VC打开一个目录选择对话框,并设置初始化目录
2010-11-15 11:40
330 查看
打开目录选择对话框可以使用SHBrowseForFolder函数来实现,
默认的路径是我的电脑,如果需要自己设置一个默认路径的话,则需要填充BROWSEINFO里面的回调函数
在这里使用BrowserCallbackProc,初始化的时候给目录选择对话框发消息,选中预先设定的路径.
默认的路径是我的电脑,如果需要自己设置一个默认路径的话,则需要填充BROWSEINFO里面的回调函数
在这里使用BrowserCallbackProc,初始化的时候给目录选择对话框发消息,选中预先设定的路径.
////////////////////////////////////////////////////////////////////////// int CALLBACK BrowserCallbackProc ( HWND hWnd, UINT uMsg, LPARAM lParam, LPARAM lpData ) { switch ( uMsg ) { case BFFM_INITIALIZED: ::SendMessage(hWnd, BFFM_SETSELECTION, 1, (long)szInitPath); break; default: break; } return 0; } ////////////////////////////////////////////////////////////////////////// void CGetFileListDlgDlg::OnOK() { // TODO: Add extra validation here BROWSEINFO bi; TCHAR szSearch[MAX_PATH]; LPITEMIDLIST lpItemRoot; ZeroMemory(&bi, sizeof(bi)); // ZeroMemory(szInitPath, MAX_PATH); ZeroMemory(szSearch, MAX_PATH); bi.hwndOwner = m_hWnd; bi.pidlRoot = NULL; bi.pszDisplayName = szInitPath; bi.lpszTitle = TEXT("请选择你要枚举的目录:"); bi.ulFlags = BIF_RETURNONLYFSDIRS | BIF_EDITBOX; bi.lpfn = BrowserCallbackProc; lpItemRoot = SHBrowseForFolder(&bi); if (lpItemRoot) { SHGetPathFromIDList(lpItemRoot, szInitPath); GetFileList(szInitPath); } //CDialog::OnOK(); }
相关文章推荐
- VC打开一个目录选择对话框,并设置初始化目录
- (转)记录:VC++中打开保存目录选择对话框操作
- 记录:VC++中打开保存目录选择对话框操作
- VC中选择文件目录和打开文件对话框
- 使用vc打开目录选择对话框
- VC++打开对话框选择一个文件夹路径 BROWSEINFO结构
- 怎么显示一个可以选择目录的打开对话框
- VC++中打开保存目录选择对话框操作
- :创建一个窗体;在窗体上添加一个按钮(text设置为 选择线颜色);向窗体添加一个颜色对话框(colorDialog1)单击按钮,能够打开一个颜色对话框,选择颜色,且更改画笔颜色
- (转)记录:VC++中打开保存目录选择对话框操作
- 打开文件对话框与目录选择对话框
- VC中选择目录对话框
- 创建一个如下的窗体,并在窗体上放置colorDialog控件。实现功能:1)程序运行时,单击打开颜色对话框按钮,可选择颜色,并以所选颜色作为窗体背景色
- 在VC中做一个选择文件夹的对话框 (转载)
- C#窗体程序怎么点击按钮打开一个选择文件的对话框
- VC文件目录选择对话框(任意目录)
- C#实现同一个对话框打开目录和文件
- VC中目录选择对话框的使用
- VC中打开对话框选择文件和文件夹
- 打开对话框--选择一个文件夹