如何使用CFileDialog?

rushing 2001-10-16 03:44:00
最好有例子。
我在View里随便定义了一个,编译竟然出错?
...全文
158 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingzai 2001-10-16
  • 打赏
  • 举报
回复
给你一个例子:
CFileDialog filedlg(TRUE);
//
int structsize=0;
DWORD dwVersion;
//检测目前的操作系统,GetVersion具体用法详见MSDN
dwVersion=GetVersion();
// 如果运行的操作系统是Windows NT/2000
if(dwVersion<0x80000000)
structsize=88;//显示新的文件对话框
else
//运行的操作系统Windows 95/98
structsize =76;//显示老的文件对话框
//
filedlg.m_ofn.lStructSize=structsize;
if(filedlg.DoModal()==IDOK)
{
m_strFile=filedlg.GetPathName();
UpdateData(FALSE);
}
hutyn 2001-10-16
  • 打赏
  • 举报
回复
CFileDialog 只能获取要打开或存储的文件名,或者设置一些属性等一些非常通用和基本的东东,但不能直接读取文件本身内容的,因为它只是个Dialog嘛!
要读取文件内容,必须自己编写相应操作。
wmouse 2001-10-16
  • 打赏
  • 举报
回复
那要有专门的读文件过程,我还不知道通过CFileDialog读取,可以
if(myDlg.DoModal()==IDOK)
{
//读去文件内容,接着做相应操作
}
rushing 2001-10-16
  • 打赏
  • 举报
回复
比如,文件中的二进制字符,字符串,图形等等。
hutyn 2001-10-16
  • 打赏
  • 举报
回复
文件内容,你是指什么?
hutyn 2001-10-16
  • 打赏
  • 举报
回复
其中 m_ofn 结构体所包含的信息非常重要,比如对话框标题,文件属性等等都可得到和进行操作,非常方便!
rushing 2001-10-16
  • 打赏
  • 举报
回复
我还想把文件内容读进来。
hutyn 2001-10-16
  • 打赏
  • 举报
回复
最简单的可以这样:
CFileDialog myDlg(true or false);
rushing 2001-10-16
  • 打赏
  • 举报
回复
我知道了,
应该这样定义:
CFileDialog fileDlg(True);

以前我没写True

然后该这样使用呢?
wmouse 2001-10-16
  • 打赏
  • 举报
回复
你是怎么定义的?
goldolphin 2001-10-16
  • 打赏
  • 举报
回复
构造函数原型如下:
CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTR lpszFileName = NULL, DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, LPCTSTR lpszFilter = NULL, CWnd* pParentWnd = NULL );
参数有点复杂,最好查一下MSDN。

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧