您的位置:首页 > 其它

MFC浏览文件夹、文件、路径

2016-12-31 14:46 344 查看
void OnXXXBrowse()

{

CString strFolderPath;

BROWSEINFO broInfo = {0};

TCHAR szDisName[MAX_PATH] = {0};

broInfo.hwndOwner = this->m_hWnd;

broInfo.pidlRoot = NULL;

broInfo.pszDisplayName = szDisName;

broInfo.lpszTitle = _T(“选择保存路径”);

broInfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_DONTGOBELOWDOMAIN

| BIF_BROWSEFORCOMPUTER | BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS;

broInfo.lpfn = NULL;

broInfo.lParam = NULL;

broInfo.iImage = IDR_MAINFRAME;

LPITEMIDLIST pIDList = SHBrowseForFolder(&broInfo);

if (pIDList != NULL)

{

memset(szDisName, 0, sizeof(szDisName));

SHGetPathFromIDList(pIDList, szDisName);

strFolderPath = szDisName;

}

}

浏览保存文件

[cpp] view plain copy

1. void BrowseSaveFile()

2. {

3. LPCTSTR szFilter = _T(“puk files(.puk)|.puk||”);

4.

5. // CFileDialog的第一个参数标明是浏览还是保存

6. CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilter);

7. if (dlg.DoModal() == IDOK)

8. {

9. CString fileName = dlg.GetPathName();

10. }

11. }

获取当前路径

[cpp] view plain copy

1. void GetCurPath()

2. {

3. CString strCurPath; // 不包含文件名的全路径

4. GetModuleFileName(NULL, strCurPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);

5. strCurPath.ReleaseBuffer();

6. int nPos = strCurPath.ReverseFind(‘\’);

7. strCurPath = strCurPath.Left(nPos + 1);

8. }

MFC浏览文件夹,文件,路径

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: