如上.
解决方案 »
- 头文件未定义#include "DrawingObject.h"
- 全局变量和成员变量的区别,局部变量和成员变量的区别
- CFileFind 搜索文件问题
- 纠结,还是事件使2个线程同步问题:去了第二个线程,回不了第一个线程
- TreeView或者TreeCtrl无法显示60000以上的记录如何解决??
- 怎样导出数据数据为excel,pdf,有源码更好!
- 如何从缓冲区中播放wav数据??
- 想考研,哪里好呢,北京的同学说太严了,大家推荐一下,哪里比较公正啊?
- 把CToolBar上的button的style改为TBBS_CHECKBOX后,如何知道button的状态?
- 怎么样规范编程
- 在非MFC的VC编程中,获取和设置EDIT的值该怎么做?
- 再谈透明背景问题!~~
当选多个文件时,GetPathName()得到的是目录名;
我想知道系统有没有提供只能选择目录的对话筐?
===================
void XXX::OnBrowseFolder()
{
// TODO: Add your control notification handler code here
BROWSEINFO bi;
TCHAR szFolder[MAX_PATH];
memset(&bi,0,sizeof(bi));
bi.hwndOwner = this->GetSafeHwnd();
bi.lpszTitle = _T("Select a folder...");
bi.pidlRoot = NULL;
bi.pszDisplayName = (LPTSTR)&szFolder;
bi.lpfn = NULL;
bi.lParam = (LPARAM)m_strPrjPath.GetBuffer(0);
LPITEMIDLIST pidl;
pidl = SHBrowseForFolder(&bi); if (pidl == NULL)
{
return;
}
else
{
SHGetPathFromIDList(pidl, (LPTSTR)&szFolder);
GetDlgItem(IDC_LOCATION)->SetWindowText(szFolder);
m_strPrjPath = szFolder;
}
}
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner=GetSafeHwnd();
bi.pszDisplayName=name;
bi.lpszTitle="请选择你的文件夹:";
bi.ulFlags=BIF_RETURNONLYFSDIRS;
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+="\\";