首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • CFileDialog
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ustcustc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-06-19 22:58:08 楼主
    CString  filter=_T("文本文档(*.txt)|*.txt|全部文件(*.*)|*.*||"); 
      CFileDialog  fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY  |  OFN_OVERWRITEPROMPT,filter); 
    或者  CFileDialog  fileDlg(TRUE);
      if(fileDlg.DoModal()!=IDOK) 
      return; 
      目的是读取一个文本文件,第1次读取没问题,再次读取时,CFileDialog对话框打开后,还在原目录,这时只要光标移到任何文本文件上,就会出现异常,(提示 virtual function called!)如果改变目录又没问题,请高手赐教!
    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • liyinlei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-19 23:08:531楼 得分:0
    指定 CFileDialog的父窗口指针
    CFileDialog  fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY  ¦  OFN_OVERWRITEPROMPT,filter, this); 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 5

      2

      13

    发表于:2008-06-19 23:19:162楼 得分:0
    这段代码没问题。你在什么时候执行这段代码?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ustcustc
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-19 23:30:123楼 得分:0
    对话框中一个button  ,按下,加载文件对话框。我用MSDN中CFileDialog 例子,试了下也是如此。。。

    CFileDialog  fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY  ¦  OFN_OVERWRITEPROMPT,filter, this);  我也试了,不行!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 5

      2

      13

    发表于:2008-06-20 00:02:084楼 得分:0
    这种用法是非常常见的,经常需要界面上放一个“浏览”按钮,重复点多少次都不会有问题。你在详细描述一下你的程序的架构和执行流程,另外确认一下与选择的路径和文件是否有关。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • foxhill
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 07:59:365楼 得分:0
    第一次打开之后,默认路径已经变了,第二次CFileDialog对话框打开后,在原目录是正常的,应该不是上述代码的问题,检查一下其他部分有没有问题。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ToperRay
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 08:08:496楼 得分:0
    读取文件的时候文件没有关闭????????
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhoujianhei
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 08:10:107楼 得分:0
    将代码放在单击事件中。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jyh_baoding
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 08:28:488楼 得分:0
    将代码放在单击事件中
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wuzongman
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:44:309楼 得分:0
    一般文件对话框打开后最大的影响是系统的默认相对目录会被修改,所以你的程序中千万不要使用相对路径,要用绝对路径。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yjgx007
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 09:50:3710楼 得分:0
    rebuild > clean
    反复调试跟踪.

    另外, 去掉OFN_OVERWRITEPROMPT标志, 你用的TRUE是构建一个打开对话框,和overwrite没有关系.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Amuro1987218
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:02:3411楼 得分:0
    引用 9 楼 wuzongman 的回复:
    一般文件对话框打开后最大的影响是系统的默认相对目录会被修改,所以你的程序中千万不要使用相对路径,要用绝对路径。


    OFN_NOCHANGEDIR
    Restores the current directory to its original value if the user changed the directory while searching for files.

    加这个标志应该不会影响
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Amuro1987218
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-06-20 10:05:1012楼 得分:0
    引用楼主 ustcustc 的帖子:
    CString  filter=_T("文本文档(*.txt) ¦*.txt ¦全部文件(*.*) ¦*.* ¦ ¦");
    CFileDialog  fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY    ¦  OFN_OVERWRITEPROMPT,filter);
    或者  CFileDialog  fileDlg(TRUE);
    if(fileDlg.DoModal()!=IDOK)
    return;
    目的是读取一个文本文件,第1次读取没问题,再次读取时,CFileDialog对话框打开后,还在原目录,这时只要光标移到任何文本文件上,就会出现异常,(提示 virtual function c…


    是不是_WIN32_WINNT  和  WINVER这两个定义为0x0500了?如果是的话有时候就会有这个问题
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jameshooo
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      4

    发表于:2008-06-20 10:21:4413楼 得分:0
    楼主是科大的?                ~
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved