MFC 打开文件/打开路径

void CMFCOpenFileOrDirectoryDlg::OnBnClickedButton1()
{
    //打开文件
    CFileDialog dlgOpen(TRUE/*TRUE打开,FALSE保存*/,
        0,
        0,
        OFN_HIDEREADONLY|OFN_FILEMUSTEXIST,
        "All Files(*.*)|*.*||",//文件过滤器
        NULL);
    char szCurrentPath[MAX_PATH] = {0};
    GetCurrentDirectory(MAX_PATH, szCurrentPath);
    dlgOpen.m_ofn.lpstrInitialDir = szCurrentPath;
    if(IDOK == dlgOpen.DoModal())
    {
        SetDlgItemText(IDC_EDIT1, dlgOpen.GetPathName());        
    }
}

void CMFCOpenFileOrDirectoryDlg::OnBnClickedButton2()
{
    //打开路径
    BROWSEINFO bi;
    char Buffer[MAX_PATH] = {0};
    //初始化入口参数bi开始
    bi.hwndOwner = NULL;
    bi.pidlRoot =NULL;
    bi.pszDisplayName = Buffer;//此参数如为NULL则不能显示对话框
    bi.lpszTitle = "打开路径";
    bi.ulFlags = BIF_EDITBOX;//包括文件
    bi.lpfn = NULL;
    bi.iImage=IDR_MAINFRAME;

    LPITEMIDLIST pIDList = SHBrowseForFolder(&bi);//调用显示选择对话框
    if(pIDList)
    {
        SHGetPathFromIDList(pIDList, Buffer);//取得文件夹路径到Buffer里
        SetDlgItemText(IDC_EDIT1, Buffer);
    }
}

 

转载于:https://www.cnblogs.com/nonebutnow/p/6008933.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值