vc++打开文件夹时,指定初始路径
2015-11-06 19:08
337 查看
//回调函数
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if (uMsg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,lpData);
}
return 0;
}
//button对应的函数
void CEncryptDlg::OnButtonSBrownEn()
{
LPITEMIDLIST pidlRoot = NULL;
CString curPath(_T("F://long"));
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer,MAX_PATH);
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = pidlRoot;
bi.pszDisplayName = NULL;
bi.lpszTitle = _T("选择一个文件夹");
bi.ulFlags = BIF_EDITBOX;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)curPath.GetBuffer(MAX_PATH);
bi.iImage = 0;
LPITEMIDLIST pList = NULL;
if ((pList = SHBrowseForFolder(&bi))!=NULL)
{
TCHAR path[MAX_PATH];
ZeroMemory(path,MAX_PATH);
SHGetPathFromIDList(pList,path);
mSFoldName = path;
GetDlgItem(IDC_EDIT_SFOLD)->SetWindowText(mSFoldName);
}
}
//回调函数
int CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if (uMsg == BFFM_INITIALIZED )
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,lpData);
}
return 0;
}
//button对应的函数
void CEncryptDlg::OnButtonSBrownEn()
{
LPITEMIDLIST pidlRoot = NULL;
CString curPath(_T("F://long"));
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer,MAX_PATH);
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = pidlRoot;
bi.pszDisplayName = NULL;
bi.lpszTitle = _T("选择一个文件夹");
bi.ulFlags = BIF_EDITBOX;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)curPath.GetBuffer(MAX_PATH);
bi.iImage = 0;
LPITEMIDLIST pList = NULL;
if ((pList = SHBrowseForFolder(&bi))!=NULL)
{
TCHAR path[MAX_PATH];
ZeroMemory(path,MAX_PATH);
SHGetPathFromIDList(pList,path);
mSFoldName = path;
GetDlgItem(IDC_EDIT_SFOLD)->SetWindowText(mSFoldName);
}
}
相关文章推荐
- C++面试笔试题目(选1)
- 1106c语言语法树
- 去除文件内容为空额文件(python /c++ opencv)
- c语言表白!!!!(ps 偶然看到的)
- C语言文法推导
- 利用VS根据文件目录结构创建C++工程自己简单实现的方法
- c++序列容器
- vc++各种文件的作用
- c语言学习之基础知识点介绍(十八):几个修饰关键字和内存分区
- C++ operator关键字(重载操作符)
- 100盏灯的问题(C语言实现)
- C++中不要在写void类型啦
- vs2013 c++小代码运行完了不退出的方法
- C++获取数字证书的序列号
- 一起用C++写个轻量的搜索引擎(一)
- C++学习:模板类学习
- C语言:浮点数在内存中的表示
- c++ inline
- C语言文件与目录(五)移动与复制
- C++进阶学习——单向链表的实现