龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC++中如何使文件夹浏览呈现新界面[图]

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
在VC++编程中,有很多地方要用到文件夹浏览对话框,在version5.0版本(微软控件版本,一般在Windows2000之前)之前若想在文件夹浏览对话框上加一个新建文件夹按钮,需要自己编程来实现,现

  在VC++编程中,有很多地方要用到文件夹浏览对话框,在version5.0版本(微软控件版本,一般在Windows2000之前)之前若想在文件夹浏览对话框上加一个新建文件夹按钮,需要自己编程来实现,现在在version5.0版本后,只需设置一个参数就可以了,而且有上下文菜单。如下图所示:(点此下载整个示例工程,本工程略加改动即可使用于自己的程序中。本工程亦可作为初学者的教程,一般教材很少讲文件夹浏览公用对话框的用法。)

  示例工程中主要代码如下:

void CTestBrowseDlg::OnBrowse()
{
  CString str;
  BROWSEINFO bi;
  char name[MAX_PATH];
  ZeroMemory(&bi,sizeof(BROWSEINFO));
  bi.hwndOwner=GetSafeHwnd();
  bi.pszDisplayName=name;
  bi.lpszTitle="Select folder";
  bi.ulFlags=BIF_USENEWUI;
  LPITEMIDLIST idl=SHBrowseForFolder(&bi);
  if(idl==NULL)
    return;
  SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));
  str.ReleaseBuffer();
  m_Path=str;
  if(str.GetAt(str.GetLength()-1)!='''')
    m_Path+="";
  UpdateData(FALSE);
}
  本工程在VC++7.0+WindowsXP中调试通过。

精彩图集

赞助商链接