- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CBuilder中MDI应用程序的设计
C++Builder 中MDI 应用程序的设计
MDI(多文档界面)应用程序是指用户可以同时打开多个文档,每一个文档显示在应用程序
主窗口客户区的独立窗口中。如字处理程序Word就是一个典型的MDI应用程序,你可以在
Word中同时打开和使用多个文档,PowerPoint中你也可以同时创建和打开多个幻灯片应用
程序,电子表格中也允许用户同时对多个图表进行编辑。MDI应用程序一般包括三类窗口:
* 框架窗口:框架窗口与应用程序的主窗口类似,有可改变大小的边框、标题栏、系统菜单
等。应用程序必须为框架窗口注册一个窗口类。一个MDI应用程序一般只有一个框架窗口,
框架窗口控制着其它各类窗口。
* 客户窗口:客户窗口提供对下属MDI子窗口的管理,每一个MDI应用程序有一个客户窗口。
* 子窗口:当用户打开或创建一个文档时,客户窗口便为该文档创建一个子窗口。每个子窗
口都有可以改变大小的边框、标题栏、系统菜单、最小最大化按钮等。任何时刻只有一个子
窗口是活动的。子窗口不能超出客户窗口的范围。
用一般的开发工具开发MDI应用程序相当麻烦:你必须注册框架窗口和子窗口类、创建框架
窗口和客户窗口、写消息循环和回调函数、创建子窗口等等,其中的每一步都不是什么轻而
易举之事。但是在Borland C++ Builder(以下简称CB)中实现MDI应用程序却相对简单,
你只需设置一下窗体的属性FormStyle即可:把框架窗口的FormStyle设为fsMDIForm,子
窗口的FormStyle设为fsMDIChild。另外CB本身也提供了MDI程序模板,选择
File|New|Projects|MDI Application,如下图所示:
CB就会产生一个MDI应用程序框架。直接编译运行该程序,就可以看到该程序已经具有一
个MDI程序的基本特征了。
我们利用这个模板设计一个MDI应用程序。该程序是一个支持多文本格式和普通文本格式的
多文档编辑器,且同时支持工具栏快捷按钮和打印输出。下面我们就来谈一谈其具体开发过
程:
(1) 选择File|New|Projects|MDI Application,产生MDI程序框架。
(2)把主框架窗口另存为MDIMain.cpp,子窗口另存为MDIChild.cpp,工程名另存为MDI。
(3) 转到主框架窗口FrameForm,设置其Caption为“ MDI演示程序可打开多文件的
文本编辑器”,在Object Inspector中观察FrameForm的属性,可看到其FormStyle为
fsMDIForm。改变主框架窗口FrameForm上的控件(Component).
(4)点击菜单控件,改变菜单项和菜单项的OnClick事件如下,使之适合自己的要求:
菜单项 菜单项的OnClick事件
文件:新建 New1Click
打开 Open1Click
退出 Exit1Click
窗口:层叠 Tile1Click
平铺 Cascade1Click
排列图标 Arrangeicons1Click
(5)改变SpeedPanel上的TSpeedButton控件和事件响应,并在其属性Glyph中装入相应
的位图图像:
快捷按钮名称 事件响应
SpeedButton1 New1Click
SpeedButton2 Open1Click
SpeedButton3 Exit1Click
(6)修改原有的OpenDialog文件打开对话框控件的属性:
单击Filter属性,弹出Filter Editor对话框,输入:
Rich Text Format(*.rtf) *.rtf
Text Files(*.txt) *.txt
All Files(*.*) *.*
(7)选择View|ProjectManager,在ProjectManager中单击MDIChild一栏的ChildForm,
就可以查看该子窗体的FormStyle属性为fsMDIChild。设置窗体的事件响应:
OnClick FormClick
OnClose FormClose
OnCloseQuery FormCloseQuery
OnCreate FormCreate
拖动控件到ChildForm之上。
(8) 设置ChildForm上菜单控件的菜单项名称和菜单项的OnClick事件:
菜单项 菜单项的OnClick事件
文件:新建 New1Click
打开 Open1Click
关闭 Close1Click
保存 Save1Click
另存为 Saveas1Click
打印 Pr
文档评论(0)