单文档多视图的实现

一个文档可能对应多个视图,最典型的如股市行情数据有图形界面和表格界面两种,实现这种程序使用MDI是最直接也是最让人接受的。这里只对可能出现的问题做一下简要分析。

1,如何显示两个视图

首先需要定义要使用的视图类,以股市软件为例(下同),定义一个图形View和一个表格View,这是必须要做的。MDI使用文档模板来加载文档、框架窗口和视图窗口,默认的创建函数在App类的InitInstance中:

CMultiDocTemplate* pDocTemplate;
 pDocTemplate = new CMultiDocTemplate(
  IDR_MY1TYPE,
  RUNTIME_CLASS(CMy1Doc),
  RUNTIME_CLASS(CChildFrame), // custom MDI child frame
  RUNTIME_CLASS(CMy1View));
 AddDocTemplate(pDocTemplate);

 

这不是我们需要的,所以我们要自己写一个CMultiDocTemplate,当然不是完全重写。例如写一个CMVDocTemplate,继承自CMultiDocTemplate。把它的构造函数写成这样:

CMVDoc

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在MFC多文档应用程序中,文件视图导航可以帮助用户快速定位到需要打开的文档,方便用户操作。以下是实现文件视图导航的步骤: 1. 在主框架窗口的资源文件中添加一个列表框控件,用于显示文件列表。 2. 在主框架窗口类的头文件中声明一个成员变量,用于存储当前打开的文档指针。 3. 在主框架窗口类的构造函数中,初始化文件列表框控件,并将其添加到主框架窗口中。 4. 在主框架窗口类中添加一个函数,用于更新文件列表框控件中的文件列表。该函数应该遍历当前打开的文档列表,将每个文档的文件名添加到文件列表框控件中。 5. 在主框架窗口类中添加一个消息处理函数,响应WM_CREATE消息。该消息处理函数应该调用更新文件列表框控件的函数,以便在主框架窗口创建时显示文件列表。 6. 在主框架窗口类中添加一个消息处理函数,响应WM_COMMAND消息。该消息处理函数应该判断用户是否选择了文件列表框控件中的一个文件,并根据选择的文件打开相应的文档。 7. 在文档类中添加一个成员变量,用于存储文档的文件名。 8. 在文档类中添加一个函数,用于更新文档的文件名,以便在文件列表框控件中显示正确的文件名。 9. 在文档类的构造函数中,将文档的文件名初始化为空字符串。 10. 在文档类的OnNewDocument函数中,更新文档的文件名。 11. 在文档类的OnOpenDocument函数中,更新文档的文件名,并调用主框架窗口类中的更新文件列表框控件的函数,以便在文件列表框控件中显示新打开的文档。 12. 在文档类的OnSaveDocument函数中,更新文档的文件名,并调用主框架窗口类中的更新文件列表框控件的函数,以便在文件列表框控件中显示保存后的文档。 13. 在文档类的OnCloseDocument函数中,更新文档的文件名,并调用主框架窗口类中的更新文件列表框控件的函数,以便在文件列表框控件中显示正确的文件列表。 通过以上步骤,就可以实现MFC多文档应用程序中的文件视图导航功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值