求助:请问怎样改写由MFC提供的打开功能,使其打开自己需要的文件?

msliufu 2005-04-27 10:38:23
我现在在做毕业设计,遇到了困难,请各位多多指教,谢谢!

请问怎样改写由MFC提供的打开功能(菜单中“文件-》打开”和“打开”按钮,使其打开我需要的文件?

我现在在设计一个类似VC界面的程序,我需要一个打开功能来实现读入左边的工作区文件,并构造成树形结构,请问怎样使它在读入工作区文件时才构造树形结构?我现在只会在那树形视图中的OnCreate()函数中构造,请指教。再次感谢!
...全文
111 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
msliufu 2005-04-28
  • 打赏
  • 举报
回复
还有,用GetPathName()得到文件名后,可以用CStdioFile类的函数来读取文件吗?
CFileDialog dlgFile (TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"PLC逻辑图文件(*.plc)|*.plc|PLC工作区文件(*.prj)|*.prj||");
dlgFile.DoModal ();
CString FilePathName = dlgFile.GetPathName ();
tianliangs37 2005-04-28
  • 打赏
  • 举报
回复
CFileDialog dlg(true," *.*","*.",NULL);
CString filename;
if(dlg.DoModal() == IDOK)
{
filename = dlg.GetPathName();
}
sgc8228 2005-04-28
  • 打赏
  • 举报
回复
重载App类里面得ONFileOpen函数,将构造树得功能可以放在里面实现,我现在做得项目和你得要求很像,如果你需要得话,我可以把部分代码给你参考
我是从数据库读出,然后构造树

顺便借你得帖子问达人:
如何自己实现关闭程序之前提示修改功能呢,我是说完全自己实现,不是用它得SetModifyFlag
msliufu 2005-04-28
  • 打赏
  • 举报
回复
我现在正是在修改ID_FILE_OPEN消息函数出了问题了,怎么都实现不了,还出现了编译没错误,但执行就出现Assert错误,弹出的警告窗口如下:http://cn.pg.photos.yahoo.com/ph/msliufu/detail?.dir=71b0&.dnm=cc5b.jpg&.src=ph
请你们帮我看看到底是什么错误
E17 2005-04-27
  • 打赏
  • 举报
回复
发个消息 什么的 。。。读入文件 ,在通知ctreeview 的 子类create tree 就可以了

发个什么自定义消息 ,,或者,,直接拿ctreeview 的 子类的指针 来create tree。。ok?
E17 2005-04-27
  • 打赏
  • 举报
回复
自己 改 字符串 资源 IDR_XXTYPE 里的 东西,想什么后缀都可以,,不过要改仔细
jerry 2005-04-27
  • 打赏
  • 举报
回复
如果需要定制打开对话,控制整个打开文件过程,.那么应该重新写 ID_FILE_OPEN 的消息函数.
加载文件仍然可以在 Document 类里完成.

如果仅仅只是打开文档读内容.那么 Document 类已经有这样的功能了, 你只要扩展串行化输入输出函数即可.

16,551

社区成员

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

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

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