选择文件和文件夹对话框

创建一个名为SelectFileandFoderDialog的MFC的应用程序

CSelectFileandFoderDialog::OnBnClickedBtnSelectFile()

{

CFileDialog cfdlg(TRUE,"",NULL,OFN_FILEMUSTEXIST|OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY,"All Files(*.*)|*.*",this);

cfdlg.m_ofn.lpstrTitle = _T("弹出对话框名称");

if(cfdlg.DoModal() == IDCANCEL)

{

return;

}

CString sFPath = cfdlg.GetPathName();//包含文件名

SetDlgItemText(IDC_EDIT_FILEPATH,sFPath);

}

 

//选择文件夹名

CSelectFileandFoderDialog::OnBnClickedBtnSelectFolder()

{

CString sFolderPath;

BROWEINFO binfo;

WCHAR buffer[MAX_PATH] = {0};

//初始化bi参数

bi.hwndOwner = NULL;

bi.pidlRoot = NULL;

bi.pszDisplayName = buffer;//如果参数为NULL,则不能显示选择对话框

bi.lpszTitle = _T("自定义对话框名称");

bi.ulFlag = BIF_EDITBOX;//包括文件

bi.lpfn = NULL;

bi.iImalge = IDR_MAINFRAME;

//初始化结束

LPITEMIDLIST lpIDlist = SHBroweForFolder(&bi)

if(lpIDlist)

{

SHGetPathFromIDList(lpIDlist,buffer);//获取文件夹路径,并将返回值存放到buffer中

sFolderPath = buffer;

}

LPMALLOC lpMalloc;

if(FAILED(SHGetMalloc(&lpMalloc)))

   return;

// release 内存

lpMalloc->Free(lpMalloc);

lpMalloc->Release();

SetDlgItemText(IDC_EDIT_FOLDER,sFolderPath);

}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值