1基于VB的可视化程序设计方法SDI和MDI应用程序2内容回顾两个概念:–过程(子过程、函数)–模块(窗体模块、标准模块、类模块)变量作用域:–过程级变量–模块级变量–全局变量为过程传递参数:–按值传递–按引用传递客户端/服务器应用程序Data控件绑定数据库3课题目标比较SDI和MDI应用程序的区别在VisualBasic中创建MDI程序4界面界面是用户看到的应用程序的外观.VisualBasic提供给我们如下两种类型的界面:–单文档界面(SingleDocumentInterface)–多文档界面(MultipleDocumentInterface)5单文档界面(SDI)一次只能打开一个文档例如:NotePad,Paint,WordPad界面窗体6SDI的特点SDI的特点:–一次只能打开一个文档–如果需要打开多个则将打开多个应用程序实例–所有打开的窗口可以被移动到屏幕的任意位置7多文档界面(MDI)同一时刻可以打开多个窗体例如:MicrosoftWord、MicrosoftExcel外部窗体,作为内部窗口的容器,拥有菜单内部窗体,表示打开的文件8MDI每当一个新的文档被打开时,主窗口内就有一个新的窗口9MDI的特点可以打开多个文档.每个新文档在一个小窗体内打开.可以利用菜单在当前打开的窗体或文档中切换注意:一个应用程序只可以拥有一个MDI窗体10MDI应用程序例子演示例题:–创建一个拥有2个子窗体的MDI应用程序,每个子窗体显示数据库Stronghold中的两个表:Item、OrderDetails的相关数据–在MDI窗体上创建菜单,用于访问子窗体11创建MDI应用程序步骤:添加MDI主窗体添加MDI子窗体:–将Form窗体的MDIChild属性设为True设计子窗体界面为子窗体编写事件代码设计MDI主窗体菜单编写主窗体菜单的事件代码设置启动窗体12MDI组件的特点只能包含一个MDI框架窗体可以包含多个MDI子窗体,也可包含普通窗体MDI主窗口可以包含菜单,是所有其他窗口的容器不能把MDI子窗口移到MDI框架区域之外在MDI主窗口中只能放置如下控件:–有Align属性的控件(如:PictureBox控件)–运行时不可见的控件(如:Timer控件)关闭MDI框架就自动关闭了所有子窗体和现有的应用程序关于MDI框架和MDI子窗体的菜单–当一个子窗体拥有焦点时,子窗体的菜单将取代框架窗体的菜单13活动和非活动窗体14活动和非活动窗体(续)活动窗体–在多个子窗口中只能有一个是被激活的.–活动窗体对所有行为作出反应.–活动窗体是最顶层窗体.–活动窗体的标题栏颜色与其它窗体不同15排列子窗体—层叠激活子窗体显示在最前面,而所有其他窗体显示在后面16排列子窗体—平铺所有子窗体占满整个屏幕水平平铺垂直平铺17排列子窗体使用方法Arrange:格式:MDI主窗体名.Arrange排列方式例:frmTest.ArrangevbHorizontalfrmTest.ArrangevbVerticalfrmTest.ArrangevbCascade18练习:创建一个MDI应用程序:19本课总结界面类型–单文档界面(SDI)–多文档界面(MDI)如何创建一个MDI应用程序多文档界面(MDI)的组件–MDI框架–MDI子窗体子窗口的排列方式:平铺、竖排、层叠