您的位置:首页 > 其它

vc打开文件夹浏览框显示指定位置

2009-06-22 16:33 246 查看
.h下面
private:
static int CALLBACK BrowseCallbackProc(HWND hwnd,UINT uMsg,LPARAM lParam,LPARAM lpData);

.cpp下面
回调函数
int CALLBACK CSystemSetDlg::BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
{
if(uMsg==BFFM_SELCHANGED||uMsg==BFFM_INITIALIZED)
{
if(uMsg==BFFM_INITIALIZED)
{
::SendMessage(hwnd,BFFM_SETSELECTION,TRUE,
LPARAM(lpData));
}
}
return 0;
}

文件夹浏览框
BROWSEINFO bi={0};
bi.hwndOwner = this->GetSafeHwnd();
bi.pidlRoot = NULL;
bi.lpszTitle = _T("请选择打开路径");
bi.ulFlags = BIF_RETURNONLYFSDIRS|BIF_EDITBOX;
bi.lpfn = BrowseCallbackProc;
bi.lParam = (LPARAM)m_strPath.GetBuffer(m_strPath.GetLength());

LPITEMIDLIST pIdl;
if((pIdl = SHBrowseForFolder(&bi)) != NULL)
{
TCHAR path[MAX_PATH];
SHGetPathFromIDList(pIdl,path);
m_strTemplateInfoPath = path;
m_ctrTemplatePath.SetWindowText(m_strPath);
}
http://blog.pfan.cn/cuzn/3402.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: