// MyFolderEditBrowseCtrl.cpp : implementation file
//
#include "stdafx.h"
#include "iDART_UI.h"
#include "MyFolderEditBrowseCtrl.h"
//////////////////////////////////////////////////////////////////////////
// MyFolderEditBrowseCtrl
IMPLEMENT_DYNAMIC(MyFolderEditBrowseCtrl, CMFCEditBrowseCtrl)
MyFolderEditBrowseCtrl::MyFolderEditBrowseCtrl()
{
}
MyFolderEditBrowseCtrl::~MyFolderEditBrowseCtrl()
{
}
BEGIN_MESSAGE_MAP(MyFolderEditBrowseCtrl, CMFCEditBrowseCtrl)
END_MESSAGE_MAP()
//////////////////////////////////////////////////////////////////////////
// MyFolderEditBrowseCtrl message handlers
void MyFolderEditBrowseCtrl::OnBrowse()
{
//浏览文件夹操作
this->Invalidate();
CString filename;
TCHAR szDir[MAX_PATH]={ _T( '\0' ) };
BROWSEINFO bi;
ITEMIDLIST *pidl;
bi.hwndOwner = this->m_hWnd;
bi.pidlRoot = NULL;
bi.pszDisplayName = szDir;
bi.lpszTitle = "请选择目录";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
pidl = SHBrowseForFolder(&bi);//显示选择对话框
if(pidl == NULL)
{
return;
}
//把项目标识列表转化成字符串
if(!SHGetPathFromIDList(pidl,szDir))
{
return; // 如果文件夹路径为空则返回
}
else // 否则输出文件夹路径
{
filename=szDir;
UpdateData(FALSE);
}
SetWindowText(filename);
}