mfc深入浅出 系列 深入浅出mfc 第13章多重文件与多重显示

第13章多重文件与多重显示

1.       静态分裂用到两个CSplitterWnd成员函数:

1.BOOLCreateStatic( CWnd* pParentWnd, int nRows, in nCols,DWORDdwStyle = WS_CHILD |WS_VISIBLE,UINTnID = AFX_IDW_PANE_FIRST );

2.virtual BOOLCreateView( int row, int col, CRuntimeClass* pViewClass,

SIZEsizeInit,CCreateContext* pContext );

 

2.       窗口的静态三叉分裂

3.       同源子窗口

从【Window/New Window】开始。这个菜单项目令Framework为我们做出目前作

用中的view 窗口的另一份拷贝。如果我们能够知道Framework 是如何动作,是不是可

以引导它使用另一个view 类别,以不同的方式表现同一份资料:

过程:

 ■进入AppWizard,制造一个Text 项目,采用各种预设的选项。获得的主要类

别如下

■  进入整合环境中的Resource View 窗口,选择IDR_TEXTTYPE菜单,在

【Window】菜单中加入两个新命令项:

再在Resource View 窗口中选择IDR_MAINFRAME工具栏,增加两个按钮,安

排在Help 按钮之后

进入ClassWizard,为两个UI 对象制作Message Map

利用ClassWizard 产生一个新类别,准备做为同源子窗口的第二个View 类别:

修改程序代码,分别为两个view 类别都做出对应的Docment Template:

修改CTextDoc 程序代码,添加成员变量。Document的数据是10 笔字符串:

定义CMainFrame 的两个命令处理例程:OnWindowText和OnWindowHex,使选

单命令项目和工具栏按钮得以发挥效用。函数内容直接拷贝自图13-5,只要

修改其中第14 行即可。这两个函数是本节的技术重点

■  如果你要两个view 都有打印预视的能力,必须在CHexView 中改写下面三个

虚拟函数,至于它们的内容,可以依样画葫芦地从CTextView的同名函数中拷

贝一份过来

virtual BOOLOnPreparePrinting(CPrintInfo* pInfo);

virtual voidOnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);

virtual voidOnEndPrinting(CDC* pDC, CPrintInfo* pInfo);

4.       多重文件

A.新的 Document Template

我应该为此新的文件类型产生一个Document Template,并把它加到系统所维护的DocTemplate串行中。

B.新的 UI 系统

下面就是为了这新的 NewDoc 文件型态所对应的UI 系统,新添的文件內容(没有什么

好工具可以帮忙,一般文字编辑器的  copy/paste 最快):

 

 

 

 

 

 

 

程序效果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值