1 / 20

第十一章 应用程序窗体设计

第十一章 应用程序窗体设计. 多窗体程序设计 多文档界面的程序设计. 多窗体程序设计. 1.添加窗体 “ 工程|添加窗体 ” 新建 现存. 添加 “ 现存 ” 窗体时要注意: 防止多个窗体的 Name 相同而不能添加; 添加的窗体实际是将其它工程中已有的窗体加入,多个工程共享窗体; 通过 “ 另存为 ” 命令以不同的窗体文件名保存,断开共享。. 2.保存窗体 一个工程中有多个窗体,应分别取不同文件名保存在磁盘上, VBP 工程文件中记录了该工程的所有窗体文件名。. 3.设置启动窗体.

kelda
Télécharger la présentation

第十一章 应用程序窗体设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十一章 应用程序窗体设计 多窗体程序设计 多文档界面的程序设计

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

  3. 2.保存窗体 一个工程中有多个窗体,应分别取不同文件名保存在磁盘上,VBP工程文件中记录了该工程的所有窗体文件名。 3.设置启动窗体 设置启动对象

  4. 4.窗体语句 • Load语句:装入窗体到内存但没有显示窗体 形式: Load 窗体名称 • Unload语句:从内存删除窗体 形式: Unload 窗体名称

  5. 5.窗体方法 • Show方法:显示一个窗体(当窗体没有Load,自动Load) 形式: [窗体名称].Show [模式] 其中:模式可以取以下两种值 0 - Modeless,可以对其它窗体进行操作。 1 - Modal:关闭才能对其它窗体进行操作。 • Hide方法:隐藏窗体,没有Unload删除 [窗体名称.] Hide

  6. 6.不同窗体间数据的存取 • 存取控件的属性 另一窗体名.控件名.属性 例如: Text1=Val(Form2.Text1)+Val(Form2.Text2) • 存取变量的值 另一窗体名.全局变量名

  7. 例:输入学生成绩,计算总分、平均分并显示。例:输入学生成绩,计算总分、平均分并显示。

  8. Form1代码: Private Sub Command1_Click() Form1.Hide Form2.Show End Sub Private Sub Command2_Click() Form1.Hide Form3.Show End Sub Private Sub Command3_Click() End End Sub

  9. Form2代码: Private Sub Command1_Click() math = Val(Text1) english = Val(Text2) chinese = Val(Text3) computer = Val(Text4) Form2.Hide Form1.Show End Sub

  10. Form3代码: 每当一个窗体变成活动窗体时,就触发该事件。 Private Sub Command1_Click() Form3.Hide Form1.Show End Sub Private Sub Form_Activate() Text1 = Str(math + chinese + english + computer) Text2 = Str(Text1 / 4) End Sub 在标准模块中声明: Public math!, chinese!, english!, computer!

  11. 多文档界面的程序设计 MDI窗体的特点: 1. MDI窗体是子窗体的容器; 2. MDI窗体可以有自己的菜单,子窗体的菜单被迁移到父窗体; 3. 在MDI窗体添加带有Align属性的控件; 4. 最大化MDI子窗体时,子窗体的标题显示在MDI窗体的标题。 5. 一个工程中只允许有一个MDI窗体。 6. 当关闭MDI窗体时将自动关闭所有打开的子窗体。

  12. MDI窗体的属性、方法: • MdiChild属性:为True表示子窗体,为False表示非子窗体;该属性只能在属性窗口设置。 • Arrange方法:窗口的排列方式。 MDI窗体. Arrange 方式

  13. 创建和设计MDI窗体 创建: “工程/添加MDI窗体”命令 设计:一般有菜单栏、工具栏、状态栏

  14. 创建和设计MDI子窗体 创建:MDI子窗体是一个MDIChild属性为True的普通窗体。 设计:可有菜单栏,但必须有文本框。 要创建多个子窗体,可以通过窗体类来实现: Public Sub FileNewProc() Dim NewForm As New form1 No = No + 1 NewForm.Caption = "no" & No NewForm.Show End Sub

  15. MDI窗体与子窗体的交互 MDI窗体的两个属性:ActiveForm 和ActiveControl分别表示活动子窗体和活动控件。 例将子窗体的文本框中所选文本复制到剪贴板上: ClipBoard.SetText frmMDI.ActiveForm.ActiveControl.SelText

  16. 显示MDI窗体及其子窗体显示任何窗体的方法为show,还有有关规则:加载子窗体时,其父窗体会自动加载并显示;反之则无。MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体显示MDI窗体及其子窗体显示任何窗体的方法为show,还有有关规则:加载子窗体时,其父窗体会自动加载并显示;反之则无。MDI窗体有AutoShowChildren属性,决定是否自动显示子窗体

  17. 多文档界面应用程序中的“窗口”菜单 要在某个菜单上显示所有打开的子窗体标题,只需利用菜单编辑器将该菜单的WindowList属性设置为True。

  18. 例如:多文档应用程序举例。

  19. Dim no% Private Sub pp_Click() MDIForm1.Arrange 1 End Sub Private Sub arrangicon_Click() MDIForm1.Arrange 3 End Sub Private Sub cd_Click() MDIForm1.Arrange 0 End Sub

  20. Private Sub new_Click() Dim Newform As New Form1 no = no + 1 Newform.Caption = "no" & no Newform.Show End Sub Private Sub exit_Click() End End Sub

More Related