首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
VC/MFC
基础类
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
CFileDialog
加为好友
发送私信
在线聊天
ustcustc
szhang
等级:
可用分等级:
短工
总技术专家分:
0
总技术专家分排名:
311804
揭帖率:
33.33%
发表于:
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
回复次数:
13
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
liyinlei
autumnrain
等级:
可用分等级:
掌柜
总技术专家分:
2676
总技术专家分排名:
8048
发表于:
2008-06-19 23:08:53
1
楼 得分:
0
指定 CFileDialog的父窗口指针
CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY ¦ OFN_OVERWRITEPROMPT,filter,
this
);
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cnzdgs
回贴亦是善举
等级:
可用分等级:
乞丐
总技术专家分:
105653
总技术专家分排名:
45
5
2
13
发表于:
2008-06-19 23:19:16
2
楼 得分:
0
这段代码没问题。你在什么时候执行这段代码?
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ustcustc
szhang
等级:
可用分等级:
短工
总技术专家分:
0
总技术专家分排名:
311804
发表于:
2008-06-19 23:30:12
3
楼 得分:
0
对话框中一个button ,按下,加载文件对话框。我用MSDN中CFileDialog 例子,试了下也是如此。。。
CFileDialog fileDlg(TRUE,NULL,NULL,OFN_HIDEREADONLY ¦ OFN_OVERWRITEPROMPT,filter, this); 我也试了,不行!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
cnzdgs
回贴亦是善举
等级:
可用分等级:
乞丐
总技术专家分:
105653
总技术专家分排名:
45
5
2
13
发表于:
2008-06-20 00:02:08
4
楼 得分:
0
这种用法是非常常见的,经常需要界面上放一个“浏览”按钮,重复点多少次都不会有问题。你在详细描述一下你的程序的架构和执行流程,另外确认一下与选择的路径和文件是否有关。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
foxhill
深山狐狸
等级:
可用分等级:
中农
总技术专家分:
410
总技术专家分排名:
38947
发表于:
2008-06-20 07:59:36
5
楼 得分:
0
第一次打开之后,默认路径已经变了,第二次CFileDialog对话框打开后,在原目录是正常的,应该不是上述代码的问题,检查一下其他部分有没有问题。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ToperRay
香满楼
等级:
可用分等级:
掌柜
总技术专家分:
8994
总技术专家分排名:
2154
发表于:
2008-06-20 08:08:49
6
楼 得分:
0
读取文件的时候文件没有关闭????????
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zhoujianhei
高手.高手.高高手
等级:
可用分等级:
小地主
总技术专家分:
14202
总技术专家分排名:
1078
发表于:
2008-06-20 08:10:10
7
楼 得分:
0
将代码放在单击事件中。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
jyh_baoding
等级:
可用分等级:
中农
总技术专家分:
1397
总技术专家分排名:
15384
发表于:
2008-06-20 08:28:48
8
楼 得分:
0
将代码放在单击事件中
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
wuzongman
WZM
等级:
可用分等级:
中农
总技术专家分:
602
总技术专家分排名:
28296
发表于:
2008-06-20 09:44:30
9
楼 得分:
0
一般文件对话框打开后最大的影响是系统的默认相对目录会被修改,所以你的程序中千万不要使用相对路径,要用绝对路径。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
yjgx007
yjgx007
等级:
可用分等级:
中农
总技术专家分:
28974
总技术专家分排名:
336
发表于:
2008-06-20 09:50:37
10
楼 得分:
0
rebuild > clean
反复调试跟踪.
另外, 去掉OFN_OVERWRITEPROMPT标志, 你用的TRUE是构建一个打开对话框,和overwrite没有关系.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Amuro1987218
Making make code
等级:
可用分等级:
乞丐
总技术专家分:
6479
总技术专家分排名:
3223
发表于:
2008-06-20 10:02:34
11
楼 得分:
0
引用 9 楼 wuzongman 的回复:
一般文件对话框打开后最大的影响是系统的默认相对目录会被修改,所以你的程序中千万不要使用相对路径,要用绝对路径。
OFN_NOCHANGEDIR
Restores the current directory to its original value if the user changed the directory while searching for files.
加这个标志应该不会影响
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
Amuro1987218
Making make code
等级:
可用分等级:
乞丐
总技术专家分:
6479
总技术专家分排名:
3223
发表于:
2008-06-20 10:05:10
12
楼 得分:
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
胡柏华
等级:
可用分等级:
中农
总技术专家分:
47685
总技术专家分排名:
172
2
4
发表于:
2008-06-20 10:21:44
13
楼 得分:
0
楼主是科大的? ~
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友