mfc怎么实现打开文件夹

 我来答
ahcc08
2014-03-20 · 知道合伙人软件行家
ahcc08
知道合伙人软件行家
采纳数:11853 获赞数:51939
拥有丰富的软件开发经验。

向TA提问 私信TA
展开全部
void CXXXDlg::OpenFolder()
{
    BROWSEINFO bi;
    ZeroMemory(&bi,sizeof(BROWSEINFO));
    //添加提示语句
    bi.lpszTitle= _T("请选择文件夹");
    //添加"新建文件夹项"和"编辑框"
    bi.ulFlags = BIF_NEWDIALOGSTYLE | BIF_EDITBOX;
    // 显示一个对话框让让用户选择文件夹
    LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
    char szFolder[_MAX_PATH];
    memset(szFolder, 0, sizeof(szFolder));
    CString strFolder = _T("");
    if (pidl != NULL)
    {
        SHGetPathFromIDList(pidl, szFolder);
        //保存文件夹路径存
        strFolder.Format(_T("%s"), szFolder);
        afxMessageBox(strFolder);
    }
    else
    {
        return;
    }
}
糖糖寳寳
2015-09-11 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3936万
展开全部
CFileDialog::CFileDialog( BOOL bOpenFileDialog, LPCTSTR
lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR
lpszFilter = NULL, CWnd* pParentWnd = NULL );
  参数意义如下:
  bOpenFileDialog 为TRUE则显示打开对话框,为FALSE则显示保
存对话文件对话框。
  lpszDefExt 指定默认的文件扩展名。
  lpszFileName 指定默认的文件名。
  dwFlags 指明一些特定风格。
  lpszFilter 是最重要的一个参数,它指明可供选择的文件类型
和相应的扩展名。
//打开文件对话框窗口 选择所要打开的记事本文件
void CLoveDlg::OnButtonRead()
{

CFileDialog fileDlg(TRUE);
if(fileDlg.DoModal() == IDOK)
{
CString str;
CFile f;
f.Open(fileDlg.GetFileName(),CFile::modeReadWrite);
f.Read(str.GetBuffer(f.GetLength()),f.GetLength());
f.Close();
SetDlgItemText(IDC_EDIT1,str);
//或者使用此语句: GetDlgItem(IDC_EDIT1)->SetWindowText(str);
}
}

//保存记事本格式的文件
void CLoveDlg::OnButtonSave()
{
CString str;
CFileDialog FileDlg(FALSE,"txt","QQ网名伪原创",OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT);
FileDlg.m_ofn.lpstrInitialDir="桌面:\\";
if(FileDlg.DoModal()==IDOK)
{
ofstream ofs(FileDlg.GetPathName());
GetDlgItem(IDC_EDIT2)->GetWindowText(str);
/* 或者:CStatic*pst=(CStatic*)GetDlgItem(IDC_EDIT2);//第二个编辑框里的控件ID
pst->GetWindowText(str); */
ofs<<str; //输出文本到记事本里
}
}
注意:#include<fstream.h> //保存文本 函数所要的头文件.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ttyyuu20111201
2014-03-21 · TA获得超过1362个赞
知道小有建树答主
回答量:278
采纳率:0%
帮助的人:278万
展开全部
使用ShellExecute来执行open操作
例如要打开D盘下的Test文件夹,如下
ShellExecute(NULL,"open","D:\\Tset",NULL,NULL,SW_SHOWNORMAL);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2014-03-21 · TA获得超过1443个赞
知道大有可为答主
回答量:4250
采纳率:59%
帮助的人:1321万
展开全部
使用打开文件对话框很容易定位文件,至于获取文件后如何打开,那就要看是什么文件了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式