多重窗体与多重文档界面_第1页
多重窗体与多重文档界面_第2页
多重窗体与多重文档界面_第3页
多重窗体与多重文档界面_第4页
多重窗体与多重文档界面_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

多重窗体与多重文档界面第1页,共16页,2023年,2月20日,星期一菜单列表框一、菜单编辑器的使用工具/菜单编辑器(CTRL+E)

窗体上快显菜单/菜单编辑器菜单项属性常用属性:1.标题(Caption)热键:前面加&2.名称(Name)文本框分隔符也应有名称。3.快捷键(Shortcut)菜单名没有快捷键4.复选(Checked)检查框TRUE有5.有效(Enabled)检查框 6.可见(Visible)检查框操作按钮第2页,共16页,2023年,2月20日,星期一二、菜单项增减

在程序运行时,菜单随时增减,如“文件”菜单能保留最近打开的文件数。这同控件数组一样,使用菜单数组。步骤:

1.在菜单设计时,加入一个菜单项,其Index为0(菜单数组),Visual为False。

2.在程序运行时,通过Load方法向菜单数组增加新的菜单项。同样,要删除所建立的菜单项,使用UnLoad方法向菜单数组减少菜单项。第3页,共16页,2023年,2月20日,星期一三、弹出菜单(快捷菜单)

显示在窗体的浮动菜单,操作时使用右键,菜单与鼠标位置有关。设计与普通菜单,仅该菜单名不可显示;要显示时使用PopupMenu方法弹出菜单。形式:[对象.]PopupMenu菜单名,标志,x,y

标志,表示弹出的位置和触发的键位置 性能

0:X位置确定弹出菜单的左边界 0只能用鼠标左键触发弹出菜单;

4:弹出菜单以X为中心 2:能用鼠标左、右键键触发弹出菜单;

8:X位置确定弹出菜单的右边界位置与性能是加的关系。

SubText1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)IfButton=2ThenPopupMenuEditMenu,vbPopupMenuCenterAlignEndSub第4页,共16页,2023年,2月20日,星期一9.2多重窗体应用程序根据所解决问题的不同,需要建立多个窗体作为信息载体。

Windows环境的应用程序至少需要一个窗体。多窗体可以是并列的,并有且仅有一个窗体是启动窗体。多窗体也可以是层次结构的,即一个MDI窗体(父窗体)和多个子窗体。第5页,共16页,2023年,2月20日,星期一1.添加窗体

“工程或工具栏|添加窗体”新建现存

添加“现存”窗体时要注意:防止多个窗体的Name相同而不能添加;添加的窗体实际是将其他工程中已有的窗体加入,多个工程共享窗体;通过“另存为”命令以不同的窗体文件名保存,断开共享。

2.保存窗体

一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,VBP工程文件中记录了该工程的所有窗体文件名。

第6页,共16页,2023年,2月20日,星期一3.设置启动窗体设置启动对象5.窗体方法

(1)Load语句:装入窗体到内存但没有显示窗体 形式:Load窗体名称

(2)Unload语句:从内存删除窗体形式:Unload窗体名称“工程/属性”“启动对象”4.删除窗体先在工程资源管理器窗口中选定要删除窗体,然后通过工程菜单的“移除窗体”命令或右击工程管理窗口的窗体名,在快捷菜单中选取“移除窗体”第7页,共16页,2023年,2月20日,星期一(3)Show方法:显示一个窗体(当窗体没有Load,自动Load)

[窗体名称].Show[模式] 0-无模式:可以对其他窗体进行操作,

1-有模式:关闭才能对其他窗体进行操作。

(4)Hide方法:隐藏窗体,没有Unload-删除

[窗体名称.]Hide6.不同窗体间数据的存取

(1)存取控件的属性

另一窗体名.控件名.属性

(2)存取变量的值 另一窗体名.全局变量名第8页,共16页,2023年,2月20日,星期一

输入和计算学习成绩。模块:PublicMATHAsSinglePublicPHYSICSAsSinglePublicCHEMISTRYAsSinglePublicCHINESEAsSinglePublicENGLISHAsSingle第9页,共16页,2023年,2月20日,星期一模块是程序中相结独立的程序单元,VB中主要有三种不同的模块:标准模块、窗体模块和类模块。一、标准模块

1、组成和作用由全局变量声明、模块变量声明和通用过程等组成,用于定义全局或模块级的变量或过程。

2、建立标准模块执行菜单:工程→添加模块二、窗体模块

1、组成和作用由一个或多个窗体组成,实现界面设计,完成变量或常量的声明、通用或事件驱动子过程的定义。9.3模块第10页,共16页,2023年,2月20日,星期一

2、建立窗体执行菜单:工程→添加窗体

3、调用窗体过程

[窗体名.]过程名([参数列表])三、SubMain过程一般程序的运行是从某指定的窗体文件开始执行的,但有时需要在窗体被显示前,先完成一些初始化工作,为完成这一工作可在显示窗体之前应先执行没有主界面的“SubMain()”过程,这就需要设计这样一个“通过子过程”,并通过菜单:工程→工程属性,打开工程属性对话框,并将“SubMain()”过程设为“启动对象”即可。第11页,共16页,2023年,2月20日,星期一9.3多重文档界面多文档界面设计是由一个MDI窗体和至少一个子窗体组成的。其特点是:1.MDI窗体只能有且仅有一个。2.子窗体至少一个。3.用户可以改变并移动子窗体的大小,但被限制在MDI窗体内。4.子窗体最小化后显示在MDI窗体左下角5.MDI窗体最小化时,在任务栏显示,所有子窗体相应最小化,但不在任务栏显示。6.还原MDI窗体时其子窗体同时按最小化前的状态显示。7.通过子窗体的AutoShowChildren属性,在程序加载时自动显示或隐藏该窗体8.MDI和子窗体可各有自己的菜单,但当子窗体的加载时覆盖MDI窗体的菜单。第12页,共16页,2023年,2月20日,星期一多文档界面(MDI)1.创建和设计MDI窗体及其子窗体(1)创建和设计MDI窗体创建:“工程/添加MDI窗体”命令设计:一般有菜单栏、工具栏、状态栏第13页,共16页,2023年,2月20日,星期一(2)创建和设计MDI子窗体创建:MDI子窗体是一个MDIChild属性为True的普通窗体。要创建多个子窗体,通过窗体类来实现:

PublicSubFileNewProc()DimNewDocAsNewfrmMDIChildNo=No+1NewDoc.Caption="no"&NoNewDoc.Show EndSub

设计:可有菜单栏,但必须有文本框。

MDI子窗体的Name第14页,共16页,2023年,2月20日,星期一2.MDI窗体与子窗体的交互(1)活动子窗体和活动控件

MDI窗体的两个属性:ActiveForm和ActiveControl

例将子窗体的文本框中所选文本复制到剪贴板上:

ClipBoard.SetTextfrmMDI.ActiveForm.ActiveControl.SelText(2)显示MDI窗体及其子窗体

显示任何窗体的方法为show,还有有关规则:(1)加载子窗体时,其父窗体会自动加载并显示;反之则无。(2)MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体第15页,共16页,2023年,2月20日,星期一3.多文档界面应用程序中的“窗口

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论