CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VC.NET

在VC.NET中的CFileDialog的使用问题,请教各位大哥

楼主fuleisos()2006-10-03 17:47:09 在 .NET技术 / VC.NET 提问

我要打开多个文件使用CFielDialog   fielDailog.m_ofn的时候没有m_ofn这个变量存在是怎么回事  
  请各位大哥讲解一下,能否顺便教我怎么写打开多个文件,用CFileDialog函数  
   
  谢谢各位了! 问题点数:20、回复次数:14Top

1 楼avisnet(第十维度)回复于 2006-10-04 12:55:40 得分 0

CFileDialog   fileDlg(TRUE);  
  fileDlg.m_ofn.Flags   |=   OFN_ALLOWMULTISELECT;Top

2 楼fuleisos()回复于 2006-10-04 15:06:16 得分 0

楼上的大哥,我没有办法调用m_ofn这个变量,调用它的时候自动函数没有给出这个函数的名字,是不是我的.NET有问题啊。还是我的头函数包含的问题!请大哥再给赐教!多谢Top

3 楼avisnet(第十维度)回复于 2006-10-04 15:41:19 得分 0

你不能总是依赖于智能感知吧?没有提示出来你就自己写。  
   
  VS的IDE的确不错,不过也使一些人越来越懒惰了。  
   
  你可以删掉工程目录下的ncb文件试试。Top

4 楼fuleisos()回复于 2006-10-08 21:51:35 得分 0

主要是因为他没有自动给出函数,我自己从定义了结构编译没有通过,我看不行就没有定义结构按照一般的写法写  
  CFileDialog   FileDialog(TRUE,   "BMP",NULL,//开启文件操作  
  OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT   |OFN_ALLOWMULTISELECT|OFN_EXPLORER,  
  strFile,this);//打开对话框  
   
  FileDialog.m_ofn.lpstrFile   =   new   TCHAR[100   *   20];//申请  
   
  但还是不能通过编译。删除.ncd也没有起作用所以才求助与各位大狭的。Top

5 楼fuleisos()回复于 2006-10-08 21:57:41 得分 0

大狭您能否加我的QQ,赐教小弟一些问题解决办法  
  QQ:393904774Top

6 楼hdt(倦怠)回复于 2006-10-09 11:15:48 得分 0

什么工程????  
  编译出什么错???  
  Top

7 楼fuleisos()回复于 2006-10-11 18:44:01 得分 0

我的程序需有要打开多个文件,但我用  
    CFileDialog   fielGld.m_ofn.lpstrFile     =   new   TCHAR[5000];  
   
  这种方法没有申请出空间,老是报错。智能感知没有办法把m_ofn这个函数调用出来。  
  好象就不存在,请赐教怎么会事?谢谢!Top

8 楼fuleisos()回复于 2006-10-11 18:45:57 得分 0

另外说明我的标志定义为OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT   |OFN_ALLOWMULTISELECT  
  多选结构了,使用构造函数中就定义了好了!Top

9 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-10-12 05:40:07 得分 0

m_ofn   became   m_pofn   in   VC.NetTop

10 楼Binli1106()回复于 2006-10-12 11:58:22 得分 0

CFileDialog   dlg   (TRUE,   NULL,   NULL,   OFN_ALLOWMULTISELECT,  
  _T("All   files   (*.*)|*.*||"),   0);  
   
  if   (dlg.DoModal()   ==   IDOK)  
  {  
  POSITION   pos   =   dlg.GetStartPosition();  
  while   (pos)  
  {  
  CString   sFile   =   dlg.GetNextPathName(pos);  
  m_lstFiles.AddString(sFile);  
  }  
  }Top

11 楼fuleisos()回复于 2006-10-12 20:08:43 得分 0

楼上这位大哥能写的详细点吗?m_lstFiles的数据类型是什么啊??小弟我是刚入门的菜鸟劳驾了Top

12 楼xieqidong(广州)回复于 2006-10-13 09:23:14 得分 0

还是蒋兄说得对。Top

13 楼Binli1106()回复于 2006-10-13 10:33:39 得分 0

m_lstFiles是自动添加到最近打开那个菜单,你用不到的  
  你不是要打开多个文件吗  
  CString   sFile   =   dlg.GetNextPathName(pos);取到的是你选择的文件的路径Top

14 楼fuleisos()回复于 2006-10-13 16:32:51 得分 0

我从新编写了代码给他申请了空间了,用的是  
  CFileDialog   fileDlg.m_pOFN->lpstrFile   =   str.GetBuffer(1000);  
  我再用CFile的Write输出的字符变成了乱码会影响到文件路径的打开吗?  
  用别的函数来调用会出错吗?Top

相关问题

关键词

得分解答快速导航

  • 帖主:fuleisos

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo