vc++中怎么样写出这样的文件选择对话框,不要MFC的那个丑陋的那个..如图

 我来答
匿名用户
2013-12-08
展开全部

这个是文件打开对话框  只是在win7下才会显示成这样的

这个框跟mfc没关系,是系统API的调用 其实就算mfc做的话也会是这样的效果   

给你个api直接实现的代码吧 

//保存或打开 文件对话框 hwndOwner 主窗口句柄, nIDDlgItem 编辑框ID, bIsOpen true打开 false保存
        //eg ptszFilter _T("网页文件(*.html)\0*.html\0;网页文件(*.htm)\0*.htm\0;All Files(*.*)\0*.*\0")
        bool GetFileDlg(HWND hwndOwner, int nIDDlgItem, 
            const bool bIsOpen = false,
            const PTCHAR  ptszFilter =_T("All Files(*.*)\0*.*\0"),
            const PTCHAR ptszTitle = _T("选择文件路径"))
        {
            TCHAR tszFilePath[MAX_PATH] = {0};

            OPENFILENAME ofn = {0};       
            TCHAR tszFile[MAX_PATH] = {0};       
            ZeroMemory(&ofn, sizeof(ofn));
            ofn.lStructSize = sizeof(ofn);
            ofn.hwndOwner = hwndOwner;
            ofn.lpstrFile = tszFile;
            ofn.lpstrFile[0] = ' ';
            ofn.nMaxFile = sizeof(tszFile);
            ofn.lpstrFilter = ptszFilter;
            ofn.nFilterIndex = 1;
            ofn.lpstrTitle = ptszTitle;

            if (bIsOpen)
            {
                if (false == GetOpenFileName(&ofn)) return false;
            }
            else
            {
                if (false == GetSaveFileName(&ofn))    return false;
            }
            SetDlgItemText(hwndOwner, nIDDlgItem, ofn.lpstrFile);
        }

直接调用就成

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式