VB程序设计菜单对话框及多重窗体课件_第1页
VB程序设计菜单对话框及多重窗体课件_第2页
VB程序设计菜单对话框及多重窗体课件_第3页
VB程序设计菜单对话框及多重窗体课件_第4页
VB程序设计菜单对话框及多重窗体课件_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

1、计算机应用基础计算机应用基础 总述 总述 杭 上 专 1 1 职 VB程序设计菜单程序设计 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2 2 职 VB程序设计菜单程序设计 提出问题提出问题 大家在以前就已接触和学习过不少应用程序,比如大家在以前就已接触和学习过不少应用程序,比如OfficeOffice 中的文字处理程序中的文字处理程序WordWord、表格处理程序、表格处理程序ExcelExcel等,已经使用过等,已经使用过 这些程序中强大的菜单功能,它们是如何进行设计的呢?这些程序中强大的菜单功能,它们是如何进行设计的呢? 我们自己能否设计类似的菜单呢?我们自己能否设计类似的菜单

2、呢? 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3 3 职 VB程序设计菜单程序设计 本章主要内容:本章主要内容: 1:菜单:菜单 2:对话框:对话框 3:多重窗体:多重窗体 4:VB工程结构工程结构 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4 4 职 VB程序设计菜单程序设计 两种菜单类型:两种菜单类型:下拉式菜单下拉式菜单、弹出式菜单、弹出式菜单 1 1 菜单组成菜单组成 ( (标题标题) )包含若干个菜单项包含若干个菜单项, ,它放置在菜单的最它放置在菜单的最顶层顶层, , 它可以下拉出下一级菜单它可以下拉出下一级菜单( (子菜单子菜单) ) 对应一个程序模块对

3、应一个程序模块, ,执行命令后子菜单自动消失执行命令后子菜单自动消失 包含子菜单标题和菜单命令包含子菜单标题和菜单命令 可对子菜单进行分组可对子菜单进行分组 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5 5 职 VB程序设计菜单程序设计 子子 菜菜 单单 菜单命令菜单命令 主菜单栏主菜单栏 子菜单标题子菜单标题 分隔条分隔条 子子 菜菜 单单 主菜单主菜单( (标题标题) ) 对应一个程序模块对应一个程序模块, ,执执 行命令后子菜单自动消失行命令后子菜单自动消失可对子可对子 菜单进行分组菜单进行分组 计算机应用基础计算机应用基础 总述 总述 杭 上 专 6 6 职 VB程序设计菜

4、单程序设计 1 1:菜单控件:菜单控件 菜单项菜单项( (主菜单项或子菜单项主菜单项或子菜单项) )也称为也称为 菜单项具有其属性、事件、方法菜单项具有其属性、事件、方法 通过通过“菜单编辑器菜单编辑器”完成设计完成设计 2 2:菜单编辑器:菜单编辑器 使设计菜单栏的窗体成为当前窗体使设计菜单栏的窗体成为当前窗体 执行执行“工具工具”菜单的菜单的“菜单编辑器菜单编辑器”命令命令( (或或单击标准工单击标准工 具栏的具栏的“菜单编辑器菜单编辑器”按钮按钮,或或从窗体快捷菜单中选择从窗体快捷菜单中选择“菜单菜单 编辑器编辑器”命令命令) ),打开,打开“菜单编辑器菜单编辑器”窗口窗口 3 3:菜单

5、编辑器结构:菜单编辑器结构 属性区属性区 输入或修改菜单项,设置菜单项属性输入或修改菜单项,设置菜单项属性 编辑区编辑区 对输入的菜单项进行编辑操作对输入的菜单项进行编辑操作 菜单列表区菜单列表区 显示菜单项的分级列表显示菜单项的分级列表 2 2 菜单编辑器菜单编辑器 计算机应用基础计算机应用基础 总述 总述 杭 上 专 7 7 职 VB程序设计菜单程序设计 *Caption *Name IndexShortcut 属性区属性区菜单列表区菜单列表区 编辑区编辑区 我们利用菜单编辑器设计每个菜单项,其实每个菜单项都我们利用菜单编辑器设计每个菜单项,其实每个菜单项都 是一个对象,它们都有自己的属性

6、、事件、方法。是一个对象,它们都有自己的属性、事件、方法。 计算机应用基础计算机应用基础 总述 总述 杭 上 专 8 8 职 VB程序设计菜单程序设计 名称:名称:Name属性设置菜单控件的名字以便在代码中访问它属性设置菜单控件的名字以便在代码中访问它 设计菜单时设计菜单时必须输入必须输入此项!此项! 标题:标题:Caption属性设置菜单项中显示的文字若该属性为连字属性设置菜单项中显示的文字若该属性为连字 符符(-),则显示为隔离条可定义访问键则显示为隔离条可定义访问键(在一字母前加在一字母前加 AA1(3)用于生成分用于生成分 隔条隔条 .黑体黑体 AA12Ctrl+B .- AA13 .

7、隶书隶书 AA14Ctrl+C .楷体楷体_GB2312 AA15Ctrl+D 字号字号(&S) BB 访问键访问键Alt+S .14 BB1 1定义成控件定义成控件 数组数组BB1 .16 BB1 2 .18 BB1 3 .20 BB1 4 菜菜 单单 列列 表表 区区 计算机应用基础计算机应用基础 总述 总述 杭 上 专 15 15 职 VB程序设计菜单程序设计 续上表:续上表: 标标 题题名称名称索引索引快捷键快捷键说说 明明 颜色颜色(&C)CC访问键访问键Alt+C .红色红色 CC1 .绿色绿色 CC2 .蓝色蓝色 CC3 效果效果(&E)DD访问键访问键Alt+E .删除线删除线

8、 DD1 .下划线下划线 DD2 .粗体粗体 DD3 .斜体斜体 DD4 菜菜 单单 列列 表表 区区 计算机应用基础计算机应用基础 总述 总述 杭 上 专 16 16 职 VB程序设计菜单程序设计 菜菜 单单 列列 表表 区区 计算机应用基础计算机应用基础 总述 总述 杭 上 专 17 17 职 VB程序设计菜单程序设计 菜菜 单单 列列 表表 区区 计算机应用基础计算机应用基础 总述 总述 杭 上 专 18 18 职 VB程序设计菜单程序设计 菜单项事件代码设计如下:菜单项事件代码设计如下: u“字体字体”菜单下的菜单项设计成一个控件数组菜单下的菜单项设计成一个控件数组AA1,共享以下,共

9、享以下 事件过程事件过程: Private Sub AA1_Click(Index As Integer) Text1.Font = AA1(Index).Caption End Sub u“字号字号”菜单下的菜单项设计成一个控件数组菜单下的菜单项设计成一个控件数组BB1,共享以,共享以 下事件过程下事件过程: Private Sub BB1_Click(Index As Integer) Text1.FontSize = Val(BB1(Index).Caption) End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 19 19 职 VB程序设计菜单程序设计 u“颜色颜色

10、”菜单下的各菜单项为独立的菜单控件,因此应分菜单下的各菜单项为独立的菜单控件,因此应分 别在其单击事件过程中编写代码,各事件过程如下别在其单击事件过程中编写代码,各事件过程如下: : Private Sub CC1_Click() Text1.ForeColor = vbRed End Sub Private Sub CC2_Click() Text1.ForeColor = vbGreen End Sub Private Sub CC3_Click() Text1.ForeColor = vbBlue End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2020 职 VB程

11、序设计菜单程序设计 u“效果效果”菜单下的各菜单项具有复选功能,每次单击时切换菜单下的各菜单项具有复选功能,每次单击时切换 成另一种状态。因此要判断当前菜单项的成另一种状态。因此要判断当前菜单项的CheckedChecked属性,各属性,各 事件过程如下事件过程如下: : Private Sub DD1_Click() 删除线删除线 If DD1.Checked = True Then Text1.FontStrikethru = False DD1.Checked = False Else Text1.FontStrikethru = True DD1.Checked = True End

12、If End Sub Private Sub DD2_Click() 下划线下划线 If DD2.Checked = True Then Text1.FontUnderline = False DD2.Checked = False Else Text1.FontUnderline = True DD2.Checked = True End If End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 21 21 职 VB程序设计菜单程序设计 Private Sub DD3_Click() 粗体粗体 If DD3.Checked = True Then Text1.FontBol

13、d = False DD3.Checked = False Else Text1.FontBold = True DD3.Checked = True End If End Sub Private Sub DD4_Click() 斜体斜体 If DD4.Checked = True Then Text1.FontItalic = False DD4.Checked = False Else Text1.FontItalic = True DD4.Checked = True End If End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2222 职 VB程序设计菜单程序设

14、计 2 2:方法:方法PopupMenuPopupMenu的格式的格式: . ,flags,x,y,boldcommand flags 指定菜单的位置和行为,祥见指定菜单的位置和行为,祥见P171P171表表10-210-2、10-310-3 x 菜单的菜单的x x坐标,缺省则为鼠标坐标坐标,缺省则为鼠标坐标 y 菜单的菜单的y y坐标,缺省则为鼠标坐标坐标,缺省则为鼠标坐标 boldcommand 指定要显示为黑体的菜单项控件名称指定要显示为黑体的菜单项控件名称 二、弹出式菜单二、弹出式菜单 独立于菜单栏直接显示在窗体上独立于菜单栏直接显示在窗体上, ,也称作上下文菜单、快也称作上下文菜单、

15、快 捷菜单、右键菜单捷菜单、右键菜单 1 1:弹出式菜单的设计:弹出式菜单的设计 在菜单编辑器中按下拉式菜单的设计方法,并将其顶级菜在菜单编辑器中按下拉式菜单的设计方法,并将其顶级菜 单设置为不可见单设置为不可见 在对象的在对象的MouseDownMouseDown事件过程中编写代码,用以下的事件过程中编写代码,用以下的 PopupMenuPopupMenu方法显示弹出式菜单方法显示弹出式菜单 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2323 职 VB程序设计菜单程序设计 MouseDownMouseDown事件事件: : Sub Form_MouseDown( Sub Form

16、_MouseDown(Button Button As Integer, As Integer, Shift Shift As As Integer,X As Single, Y As Single) Integer,X As Single, Y As Single) (发生在窗体上的事件过程)(发生在窗体上的事件过程) (1) (1) Button参数 b2b1b0 B0=1:按下按下左左键;键; Button为为1(001B) B1=1:按下按下右右键;键; Button为为2(010B) B2=1:按下按下中中键。键。 Button为为4(100B) (2) ShiftShift参数参数

17、 B2=1B2=1按下按下AltAlt键;键; B1=1B1=1按下按下CtrlCtrl键;键;B0=1B0=1按下按下ShiftShift键键 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2424 职 VB程序设计菜单程序设计 返回一个整数,在返回一个整数,在 ButtonButton 参数指定的按钮被按下或者被参数指定的按钮被按下或者被 释放的情况下,该整数相应于释放的情况下,该整数相应于 SHIFT,CTRL,SHIFT,CTRL,和和 ALTALT 键的状键的状 态。某键被按下使得一个二进制位被设置。态。某键被按下使得一个二进制位被设置。shift shift 参数是参数是

18、具有相应于具有相应于 SHIFTSHIFT 键(键(位位 0 0),),CTRLCTRL 键(键(位位 1 1),以及),以及 ALTALT 键(键(位位 2 2)最少二进制位的一个位字段。这些位的值)最少二进制位的一个位字段。这些位的值 分别等于分别等于 1 1,2 2,和和 4 4。 B2=1B2=1按下按下AltAlt键;键; B1=1B1=1按下按下CtrlCtrl键;键;B0=1B0=1按下按下ShiftShift键键 (2) ShiftShift参数参数 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2525 职 VB程序设计菜单程序设计 【例【例3 3 】在在例例2的基础

19、上设计窗体和文本框的弹出式菜单,如的基础上设计窗体和文本框的弹出式菜单,如 下图所示:下图所示: 标题标题 名称名称 可见可见 文本框快捷菜单文本框快捷菜单 EE .增加增加1磅磅 EE1 .减少减少1磅磅 EE2 .锁定锁定 EE3 窗体快捷菜单窗体快捷菜单 FF .红色背景红色背景 FF1 .绿色背景绿色背景 FF2 .默认背景默认背景 FF3 菜单编辑器设置如下:菜单编辑器设置如下: 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2626 职 VB程序设计菜单程序设计 计算机应用基础计算机应用基础 总述 总述 杭 上 专 2727 职 VB程序设计菜单程序设计 计算机应用基础计算

20、机应用基础 总述 总述 杭 上 专 2828 职 VB程序设计菜单程序设计 文本框文本框的的MouseDown事件代码设计如下:事件代码设计如下: Private Sub Text1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu EE, 0 Or 0 End If End Sub 窗体窗体的的MouseDown事件代码设计如下:事件代码设计如下: Private Sub Form_MouseDown (Button As Integer

21、, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu FF,8 Or 0, , ,FF3 End If End Sub 弹出菜单右上角位弹出菜单右上角位 于坐标于坐标(x,y)处处 1 : 按下鼠标的左按钮按下鼠标的左按钮 2 : 按下鼠标的右按钮按下鼠标的右按钮 4 : 按下鼠标的中间按钮按下鼠标的中间按钮 弹出菜单项只弹出菜单项只 响应左键响应左键 菜单项菜单项FF3显显 示为黑体示为黑体 弹出菜单项只弹出菜单项只 响应左键响应左键 弹出菜单右上角位于坐标弹出菜单右上角位于坐标(x,y)处处 计

22、算机应用基础计算机应用基础 总述 总述 杭 上 专 2929 职 VB程序设计菜单程序设计 菜单项事件代码设计如下:菜单项事件代码设计如下: 保存窗体的初始颜色保存窗体的初始颜色: Dim Fcolor As Long Private Sub Form_Load() Fcolor = Form1.BackColor &H8000000F默认色默认色 End Sub 文本框快捷菜单文本框快捷菜单: Private Sub EE1_Click() Text1.FontSize = Text1.FontSize + 1 增加增加1磅磅 End Sub Private Sub EE2_Click()

23、Text1.FontSize = Text1.FontSize 1 减少减少1磅磅 End Sub Private Sub EE3_Click() 锁定锁定 If EE3.Caption = 锁定锁定 Then EE3.Caption = 取消锁定取消锁定“ : Text1.Locked = True Else EE3.Caption = 锁定锁定 : Text1.Locked = False End If End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3030 职 VB程序设计菜单程序设计 窗体快捷菜单窗体快捷菜单: Private Sub FF1_Click() F

24、orm1.BackColor = vbRed 红色背景红色背景 End Sub Private Sub FF2_Click() Form1.BackColor = vbGreen 绿色背景绿色背景 End Sub Private Sub FF3_Click() Form1.BackColor = Fcolor 默认背景默认背景 End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 31 31 职 VB程序设计菜单程序设计 常见错误及难点分析常见错误及难点分析 窗体菜单名、顶层菜单与菜单项的区别窗体菜单名、顶层菜单与菜单项的区别 通常出现在菜单栏上的菜单对象称为菜单名,菜单名以下

25、拉通常出现在菜单栏上的菜单对象称为菜单名,菜单名以下拉 列表形式包含的内容为菜单项。菜单项可以包括菜单命令、列表形式包含的内容为菜单项。菜单项可以包括菜单命令、 分隔条和子菜单标题。当菜单名没有菜单项时,为分隔条和子菜单标题。当菜单名没有菜单项时,为“顶层菜顶层菜 单单”,可直接对应一个应用程序。,可直接对应一个应用程序。 菜单名、顶层菜单不能定义快捷菜单,菜单名、顶层菜单不能定义快捷菜单, 而菜单项而菜单项 可以有快捷键。可以有快捷键。 当菜单包含有热键字母(菜单标题中当菜单包含有热键字母(菜单标题中“&”后的字母)时窗后的字母)时窗 体,按体,按Alt+热键字母可选择窗体顶部菜单栏中的菜单

26、项,当热键字母可选择窗体顶部菜单栏中的菜单项,当 子菜单打开时,按热键字母选择子菜单中的。如果子菜单没子菜单打开时,按热键字母选择子菜单中的。如果子菜单没 有打开时,按热键字母无法选择其中的菜单项。有打开时,按热键字母无法选择其中的菜单项。 尽管所有的菜单项都能响应尽管所有的菜单项都能响应Click事件,但是菜单栏中的菜事件,但是菜单栏中的菜 单名通常不需要编写事件过程。单名通常不需要编写事件过程。 区别区别 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3232 职 VB程序设计菜单程序设计 常见错误及难点分析常见错误及难点分析 使用使用Load语旬加载窗体,窗体不显示语旬加载窗体,

27、窗体不显示 Load语句将窗体装入内存并设置窗体的语句将窗体装入内存并设置窗体的Visible属性为属性为False (无论在设计时如何设置(无论在设计时如何设置Visible属性),此时可以引用窗体中属性),此时可以引用窗体中 的控件及各种属性。为了使窗体可见,在用的控件及各种属性。为了使窗体可见,在用Load语句后,再将语句后,再将 窗体的窗体的Visible属性设置为属性设置为True,或使用,或使用Show方法加载窗体。方法加载窗体。 在因体加载过程中使用在因体加载过程中使用 SetFocus方法出现方法出现“无效的过程调无效的过程调 用或参数用或参数”错误错误 焦点只能移到可视的窗体

28、或控件上。在窗体的焦点只能移到可视的窗体或控件上。在窗体的Load事件完事件完 成前窗体或窗体上的控件是不可视的,所以不能在成前窗体或窗体上的控件是不可视的,所以不能在 Form_ Load事件中把焦点移到正在加载的窗体上,也不能在事件中把焦点移到正在加载的窗体上,也不能在Load事事 件内使用件内使用SetFocus方法将焦点移至窗体上的控件。此外,也方法将焦点移至窗体上的控件。此外,也 不能把焦点移到不能把焦点移到Enabled或或Vsible属性被设置为属性被设置为False的窗体或的窗体或 控件。如果已在设计时将控件。如果已在设计时将Enabled或或Visible属性设置为属性设置为

29、False ,必须在使用,必须在使用SetFocus方法前将方法前将Enabled或或Visible属性设置属性设置 为为True。 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3333 职 VB程序设计菜单程序设计 在首次用在首次用Load语句将窗体(假定该窗体在内存中还没有创建)调人内语句将窗体(假定该窗体在内存中还没有创建)调人内 存之时依次发生存之时依次发生Initialize和和Load事件。事件。Initialize是在窗体创建时发生的事是在窗体创建时发生的事 件。在窗体的整个生命周期中,件。在窗体的整个生命周期中, Initialize 事件只触发一次。用户可以将一事件

30、只触发一次。用户可以将一 个窗体装入内存或从内存中删除很多次,但窗体的建立只有一次。也就是说个窗体装入内存或从内存中删除很多次,但窗体的建立只有一次。也就是说 ,在用,在用Load语句将窗体装入内存时会触发语句将窗体装入内存时会触发Load事件,但并不一定触发事件,但并不一定触发 Initialize事件事件 窗体的窗体的Activate事件仅当窗体成为活动窗口时才发生。事件仅当窗体成为活动窗口时才发生。 在窗体从内存中卸载时依次发生在窗体从内存中卸载时依次发生 QueryUnload和和 Unload事件。事件。 QueryUnload事件可提供造成窗体卸载的原因(单击事件可提供造成窗体卸载

31、的原因(单击“关闭关闭”按钮按钮/程序中程序中 执行执行Unload语句语句/在应用程序中关闭在应用程序中关闭/在在Windows中的关闭)。如果在中的关闭)。如果在 QueryUnLoad事件中把事件中把QueryUnload的参数的参数Cancel设置为设置为True,就会忽,就会忽 略略Unload语句,从而不卸载窗体。所以语句,从而不卸载窗体。所以QueryUnload提供了取消关闭窗体提供了取消关闭窗体 的机会,同时也允许在需要时从代码中关闭窗体。的机会,同时也允许在需要时从代码中关闭窗体。 使用使用End语句来结束程序,窗体不会接收到语句来结束程序,窗体不会接收到 QueryUnl

32、oad事件事件 常见错误及难点分析常见错误及难点分析 与窗体有关的事件与窗体有关的事件 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3434 职 VB程序设计菜单程序设计 是一种特殊类型的窗体对象是一种特殊类型的窗体对象 主要用于用户和应用程序的交互主要用于用户和应用程序的交互 建立对话框的方法三种建立对话框的方法三种 使用预定义对话框,如函数使用预定义对话框,如函数 InputBoxInputBox、MsgBoxMsgBox 使用使用CommonDialogCommonDialog控件创建控件创建 3 3 对话框对话框 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3535

33、 职 VB程序设计菜单程序设计 u添加窗体:使用添加窗体:使用“工程工程/添加窗体添加窗体”命令命令 u将窗体定义成对话框风格,不能移动、最大或最小化将窗体定义成对话框风格,不能移动、最大或最小化 u在对话框上添加按钮,如在对话框上添加按钮,如“确定确定”与与“取消取消”按钮按钮 u在对话框上添加其它控件在对话框上添加其它控件 u在适当的位置在适当的位置 显示模式对话框(打开时焦点不可切换)显示模式对话框(打开时焦点不可切换): 窗体名窗体名.Show vbModal (或窗体名或窗体名.Show 1) 显示无模式对话框显示无模式对话框: 窗体名窗体名.Show vbModeless (或窗体

34、名或窗体名.Show 0) 例如例如 Unload Form2 或或 Form2.Hide 3.1 3.1 自定义对话框自定义对话框 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3636 职 VB程序设计菜单程序设计 【例例4 4】设计对话框设计对话框Form2Form2如下图所示。当输入某文件所在的路如下图所示。当输入某文件所在的路 径及名称后,单击径及名称后,单击“确定确定”按钮按所选择的运行方式运行该文按钮按所选择的运行方式运行该文 件,单击件,单击“取消取消”按钮取消本次操作,返回窗体按钮取消本次操作,返回窗体Form1Form1中。中。 如果输入文件名错误,将给出警告并返回

35、该对话框如果输入文件名错误,将给出警告并返回该对话框 Text1 Option1 Option2 Option3 Command1 Command2 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3737 职 VB程序设计菜单程序设计 在窗体在窗体Form1 的的“运行运行”菜单项(设菜单控件名为菜单项(设菜单控件名为SRun)的)的 Click事件过程中显示对话框,代码如下:事件过程中显示对话框,代码如下: Private Sub SRun_Click() Form2.Show 1 显示模式对话框显示模式对话框 End Sub 在主窗体在主窗体Form1的的 菜单有一菜单有一“运行运

36、行”菜单菜单 项,运行时单击项,运行时单击“运行运行 ”打开模式对话框打开模式对话框 Form2 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3838 职 VB程序设计菜单程序设计 对话框对话框Form2代码设计如下:代码设计如下: Private Sub Command1_Click() On Error GoTo ErrorHandler 设置错误陷阱。如果出设置错误陷阱。如果出 现错误,转到现错误,转到ErrorHandler处执行处执行 FName = Trim(Text1.Text) If Option1.Value = True Then a = Shell(FName,

37、 1) 正常方式并拥有焦点正常方式并拥有焦点 If Option2.Value = True Then a = Shell(FName, 3) 最大化方式并拥有焦点最大化方式并拥有焦点 If Option3.Value = True Then a = Shell(FName, 2) 最小化方式并拥有焦点最小化方式并拥有焦点 Exit Sub ErrorHandler: MsgBox 不能运行该程序不能运行该程序, , 注意注意 Resume Next 从产生错误的语句之后开始运行从产生错误的语句之后开始运行 End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 3939 职 V

38、B程序设计菜单程序设计 Private Sub Command2_Click() Unload Me End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4040 职 VB程序设计菜单程序设计 u通用对话框 u通用对话框可置于窗体的任意位置,运行时不显示 u设置通用对话框控件的“属性页” 使用通用对话框控件使用通用对话框控件() 创建创建! 使用使用“工程工程/部件部件/控件控件”命令添加对话框控命令添加对话框控 件件! DialogTitle InitDir Filter Flags DefaultExt Max FilterIndex CancelError 计算机应用基

39、础计算机应用基础 总述 总述 杭 上 专 41 41 职 VB程序设计菜单程序设计 u在代码中使用以下方法打开对话框 u ShowOpen:显示“打开文件”对话框 u ShowSave:显示“文件存储”对话框 u ShowColor:显示“颜色”对话框 u ShowFont:显示“字体”对话框 u ShowPrinter:显示“打印”对话框 u ShowHelp:显示“帮助”对话框 示例:commondialog1.showopen 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4242 职 VB程序设计菜单程序设计 【例例5 5】使用打开文件对话框,在运行时打开一幅图像使用打开文件对

40、话框,在运行时打开一幅图像 Image1 CommonDialog1 Command1 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4343 职 VB程序设计菜单程序设计 “打开/另存为”对话框的属性页设置如下: All files|*.*|Bmp Files|*.bmp|Icon Files|*.ico 指文件名指文件名 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4444 职 VB程序设计菜单程序设计 “装入图像装入图像”按钮代码设计如下:按钮代码设计如下: Private Sub Command1_Click()Private Sub Command1_Click()

41、 On Error GoTo ErrHandler On Error GoTo ErrHandler 出错时转到出错时转到ErrorHandler处执行处执行 CommonDialog1.ShowOpen CommonDialog1.ShowOpen 将通用对话框显示为打开将通用对话框显示为打开 文件对话框文件对话框 Image1.Picture=LoadPicture(CommonDialog1.)Image1.Picture=LoadPicture(CommonDialog1.) Exit Sub Exit Sub ErrHandler:ErrHandler: Exit Sub Exit

42、Sub End SubEnd Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4545 职 VB程序设计菜单程序设计 【例例6 6】设计如图所示的界面,运行时单击设计如图所示的界面,运行时单击“背景色背景色”按钮打开按钮打开 颜色对话框,在对话框中选择的颜色用于设置文本框的背景颜颜色对话框,在对话框中选择的颜色用于设置文本框的背景颜 色,单击色,单击“字体字体”按钮打开字体对话框,在对话框中选择字体按钮打开字体对话框,在对话框中选择字体 、效果及颜色,用于设置文本框文字的字体、效果及颜色、效果及颜色,用于设置文本框文字的字体、效果及颜色 CommonDialog1 Text1 设

43、置设置Flag : 257、258、259 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4646 职 VB程序设计菜单程序设计 “颜色颜色”对话框的属性页设置如下对话框的属性页设置如下: 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4747 职 VB程序设计菜单程序设计 “颜色颜色”、“字体字体”对话框的属性页设置如下对话框的属性页设置如下: 颜色颜色: Color 标志标志: Flags FontSizeFontSize MinMin MaxMax FontNameFontName 通常:通常:257、258、259 计算机应用基础计算机应用基础 总述 总述 杭 上 专

44、4848 职 VB程序设计菜单程序设计 “背景色背景色”按钮按钮Command1的的Click事件过程如下:事件过程如下: Private Sub Command1_Click() CommonDialog1.ShowColor将通用对话框显示为颜色对话框将通用对话框显示为颜色对话框 Text1.BackColor = CommonDialog1.Color End Sub “字体字体”按钮按钮Command2的的Click事件过程如下:事件过程如下: Private Sub Command2_Click() CommonDialog1.ShowFont将通用对话框显示为字体对话框将通用对话框

45、显示为字体对话框 Text1.Font = CommonDialog1.FontName Text1.FontBold = CommonDialog1.FontBold Text1.FontItalic = CommonDialog1.FontItalic Text1.FontStrikethru = CommonDialog1.FontStrikethru Text1.FontUnderline = CommonDialog1.FontUnderline Text1.ForeColor = CommonDialog1.Color Text1.FontSize = CommonDialog1.

46、FontSize End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 4949 职 VB程序设计菜单程序设计 在程序中对通用对话框的属性设置不起作用在程序中对通用对话框的属性设置不起作用 在程序中对通用对话框的属件设置必须注意语句的先后顺序在程序中对通用对话框的属件设置必须注意语句的先后顺序 ,属性设置语句必须放在打开对话框语句前,否则在程序中对,属性设置语句必须放在打开对话框语句前,否则在程序中对 通用对话框的属性设置在本次使用中不起作用。通用对话框的属性设置在本次使用中不起作用。 例:例:下面的程序代码由于先打开对话框,再进行属性设置,在下面的程序代码由于先打开对话框,再

47、进行属性设置,在 第一次执行本段代码时,无法过滤文件,第一次执行本段代码时,无法过滤文件,ShowopenShowopen语句后面的语句后面的 属性设置语句对下一次执行属性设置语句对下一次执行ShowopenShowopen有效。有效。 CommonDialoglShowOpen CommonDialogl *Bmp CommonDialoglInitDirC:Windows CommonDialoglFilter Pictures(*Bmp) * Bmp All Files(*.*) *.* CommonDialogl FilterIndex1 常见错误及难点分析常见错误及难点分析 计算机应

48、用基础计算机应用基础 总述 总述 杭 上 专 5050 职 VB程序设计菜单程序设计 常见错误及难点分析常见错误及难点分析 设置通用对话框的设置通用对话框的CancelErrorCancelError属性为属性为TrueTrue发生错误发生错误 当通用对话框的当通用对话框的CancelErrorCancelError属性设置为属性设置为TrueTrue时,无论何时时,无论何时 选择选择“取消取消”按钮,均产生按钮,均产生3275532755(cdlCancelcdlCancel)号错误。)号错误。 Visual BasicVisual Basic通过系统对象通过系统对象 ErrErr来记录程序

49、运行期间所发来记录程序运行期间所发 生的错误。生的错误。ErrErr对象的对象的 NumberNumber属性记录错误号,属性记录错误号,DescriptionDescription 属性保存有关错误的说明。属性保存有关错误的说明。 例如,当在例如,当在CancelError CancelError 属性为属性为TrueTrue的通用对话框中选择的通用对话框中选择 “取消取消”按钮时,产生一个错误,按钮时,产生一个错误,ErrErrNumberNumber被设置为被设置为3275532755 ,DescriptionDescription属性被设置为属性被设置为“选择选择取消取消 ” ”。 如

50、果不对错误进行处理,如果不对错误进行处理,Visual BasicVisual Basic将显示出错误消将显示出错误消 息并停止程序运行。为防止由于错误造成停止程序运行的问题息并停止程序运行。为防止由于错误造成停止程序运行的问题 ,可以使用,可以使用 On ErrorOn Error语句捕获错误,然后根据捕获的错误进语句捕获错误,然后根据捕获的错误进 行处理。行处理。 计算机应用基础计算机应用基础 总述 总述 杭 上 专 51 51 职 VB程序设计菜单程序设计 On Ermr Resume Next On Ermr Resume Next 忽略发生错误的命令行,执行下一句命令忽略发生错误的命

51、令行,执行下一句命令 On Ermr GoToOn Ermr GoTo语句标号语句标号 当发生错误时转向执行标号所指定的命令当发生错误时转向执行标号所指定的命令 行行 对于捕获到的错误号,可用分支语句处理。对于捕获到的错误号,可用分支语句处理。 以下程序说明当在颜色对话框内选取以下程序说明当在颜色对话框内选取“取消取消”按钮时,按钮时, CommonDialogl.ShowColorCommonDialogl.ShowColor语句产生语句产生3275532755号错误。号错误。On ErrorOn Error语语 句在捕获到错误后,转向执行标号句在捕获到错误后,转向执行标号 ErrorHan

52、dlerErrorHandler所指定的命所指定的命 令行,在标签令行,在标签Label1Label1上显示上显示“放弃操作放弃操作”,并忽略产生错误的,并忽略产生错误的 那一行命令与标号之间的所有语句。那一行命令与标号之间的所有语句。 Private Sub Commandl ClickPrivate Sub Commandl Click()() On Error GoTo ErrorHaandler On Error GoTo ErrorHaandler 错误捕获语句错误捕获语句 CommonDialogl.CancelErrorCommonDialogl.CancelError=True

53、 True 使选取使选取“取消取消”按钮按钮 时时 能对出错误做响应能对出错误做响应 CommonDialogl.ShowColorCommonDialogl.ShowColor Textl.ForeColor Textl.ForeColor=CommonDialoglCommonDialoglColor Color 设置颜色设置颜色 Exit Sub Exit Sub 无错误时正常退出本过程无错误时正常退出本过程 常用的常用的 On ErmrOn Ermr语句形式有:语句形式有: 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5252 职 VB程序设计菜单程序设计 在使用在使用Com

54、monlnalogCommonlnalog控件控制字体选择时出现错误控件控制字体选择时出现错误 这是由于没有设置这是由于没有设置CommonDialogCommonDialog控件的控件的FlagsFlags属性,或属属性,或属 性值不正确。通常设置该值为性值不正确。通常设置该值为H103H103,表示屏幕字体、打印机,表示屏幕字体、打印机 字体两者皆有之,并在字体对话框中出现删除线、下划线、字体两者皆有之,并在字体对话框中出现删除线、下划线、 颜色等元素。颜色等元素。 以下为错误处理的语句以下为错误处理的语句 ErrorHandlerErrorHandler:语句标号,错误处理语句开始语句标

55、号,错误处理语句开始 If Err.NumberIf Err.Number=32755 Then Labell.Caption32755 Then Labell.Caption=“放弃操作放弃操作 ” End SubEnd Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5353 职 VB程序设计菜单程序设计 uVBVB中允许应用程序有多个窗体,每个窗体有自己的代码和不中允许应用程序有多个窗体,每个窗体有自己的代码和不 同的操作,从而实现复杂的功能。同的操作,从而实现复杂的功能。 一:多重窗体有关语句一:多重窗体有关语句 1:Load 1:Load :将窗体载入内存,但并不显示将

56、窗体载入内存,但并不显示 2:UnLoad 2:UnLoad :将窗体从内存中消除将窗体从内存中消除 3:3: .Show .Show 模式模式:显示窗体。显示窗体。 模式模式=0(=0(非模态非模态) )或或1(1(模态模态) ),默认模式为,默认模式为0 0。 4:4: .Hide: .Hide:隐藏窗体隐藏窗体( (并不从内存中消除并不从内存中消除) ) 4 4 多重窗体多重窗体 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5454 职 VB程序设计菜单程序设计 二、多重窗体设计二、多重窗体设计 u多重窗体设计与单重窗体设计一致,大致可分为三步:多重窗体设计与单重窗体设计一致,

57、大致可分为三步: u建立界面建立界面 u编写代码编写代码 u运行程序运行程序 u指定启动窗体:在指定启动窗体:在“工程工程/ /工程属性工程属性/ /通用通用”中可以根据需中可以根据需 要指定应用程序的启动窗体。要指定应用程序的启动窗体。 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5555 职 VB程序设计菜单程序设计 【例例7 7】多重窗体应用程序多重窗体应用程序 窗体窗体1 1的代码的代码 Private Sub Command1_Click() Load Form2 Form1.Hide Form2.Show Form2.Text1.Text = UCase(Form1.Te

58、xt1) End Sub Private Sub Command2_Click() Load Form3 Form1.Hide Form3.Show Form3.Text1.Text = LCase(Form1.Text1) End Sub Private Sub Command3_Click() End End Sub 计算机应用基础计算机应用基础 总述 总述 杭 上 专 5656 职 VB程序设计菜单程序设计 窗体窗体2的代码的代码: Private Sub Command1_Click() Form1.Show Form2.Hide End Sub Private Sub Form_Activate() Text1.Text=Ucase(Form1.Text1.Text) End Sub 窗体窗体3的代码:的代码: Private Sub Co

温馨提示

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

评论

0/150

提交评论