hur.cn - 华软网

 热门搜索

在CRichEditView和CTreeView类下如何保存一个总的文件?

  作者:未知    来源:网络    更新时间:2011/6/11
在一个SDI程序里,在view客户区里分割为左右俩个视图,左边是继承自CTreeView类,右边是继承自CRichEditView类,我要在左窗口里单击一个项,然后在右窗口里显示一篇文档,最后把左边所有项的文档保存为一个总的文件放在硬盘上,请问应该如何做,或者给个解题思路也行,有具体代码就更好,在此谢谢大家!
---华软 网友回答---
采用文件序列化可以实现
可能特殊处理要你自己实现
---华软网友回复---
定义一个结构,如:
int TreeIndexs[MAX_COUNT];//保存TreeView节点信息
struct Some
{
  char szFileName[MAX_PATH];
  int  indexs[MAX_COUNT];//保存在TreeView显示的节点位置indexs[0]为第一级TreeView节点...
  DWORD dwFileLen;//节点所指向文件的大小
};
保存时先写入整个TreeView节点信息TreeIndexs(每级有多少个),再保存第一个节点指向文件(先写Some结构)再存放Some的szFileName指向文件流...第N个节点

---华软网友回复---
就是两个视图相互通信,通过CMainFrame主框架窗口中转~
---华软网友回复---
引用 1 楼 sky101010ws 的回复:
采用文件序列化可以实现
可能特殊处理要你自己实现

这位前辈有文件系列化这方面的列子没有,我还从没具体实现过,真希望你能帮到我!
---华软网友回复---
彼此知道,数据一致
---华软网友回复---
两种方式:
    方式一:
             计算要保存的文件的总大小,建立一个大文件, 定义一个文件头保存文件信息(文件名,偏移,大小,属性),再依次将要保存的文件写到大文件中
    方式二:
             复合文档,用序列化的方式,很简单,上MSDN查下就知道
---华软网友回复---
引用 2 楼 qq752923276 的回复:
定义一个结构,如:
int TreeIndexs[MAX_COUNT];//保存TreeView节点信息
struct Some
{
  char szFileName[MAX_PATH];
  int indexs[MAX_COUNT];//保存在TreeView显示的节点位置indexs[0]为第一级TreeView节点...
  DWORD dwFileLen;//节点所指向文件……

不知道你这个结构应该定义在什么地方比较合适,是在文档类,还是在CTreeView这个类,应该不会在CRichEditView这里吧。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。