当前位置:文档之家› VB程序设计--菜单、对话框及多重窗体

VB程序设计--菜单、对话框及多重窗体


—— ——




“颜色‛菜单下的各菜单项为独立的菜单控件,因此应分 别在其单击事件过程中编写代码,各事件过程如下: 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
VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— —— 单 程 总 述 序 设 计
菜 单 设 计




编写程序代码 VB 程 计 序 算 设 机 计 应
用 基 础 菜
菜单的事件过程以菜单项区分,可以把每个菜单项看成是一个 控件。菜单设计完成后,只要单击某个菜单项,即可定义该 菜单项的事件过程。
VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— —— 单 程 总 述 序 设 计




本章主要内容:
VB 程 计 序 算 设 机 计 应
用 基 础 菜
1:菜单
2:对话框
3:多重窗体
—— —— 单 程 总 述 序 设 计
4:VB工程结构




§1 菜单组成
VB
两种菜单类型:下拉式菜单、弹出式菜单
程 计 序 主菜单(标题)包含若干个菜单项,它放臵在菜单的最顶层, 算 设 它可以下拉出下一级菜单(子菜单) 机 计 应 用 基 子菜单包含子菜单标题和菜单命令
础 菜 单 菜单命令对应一个程序模块,执行命令后子菜单自动消失 程 总 述 序 设 分隔条可对子菜单进行分组 计
—— ——




VB
程 计 序 算 设 机 计 应




程 计 序 算 设 机 计 应
用 基 础 菜
属 性 区 编辑区 菜 单 列 表 区
VB
—— —— 单 程 总 述 序 设 计
完成上述设计,单击确定按钮,即可看到菜单结构,要实现菜 单功能,需要编写菜单项的事件代码




【例1 】设计一个具有算术运算(+、-、×、/ )及清除功能的 菜单。从键盘上输入两个数,利用菜单命令求出它们和、差、 积或商,并显示出来。




程 计 序 算 设 机 计 应
用 基 础 菜
VB 程序设计
菜单、对话框及多重窗体
VB
—— —— 单 程 总 述 序 设 计
制作:赖锦德




提出问题
大家在以前就已接触和学习过不少应用程序,比如Office
中的文字处理程序Word、表格处理程序Excel等,已经使用过 这些程序中强大的菜单功能,它们是如何进行设计的呢? 我们自己能否设计类似的菜单呢?
VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— ——
单 程 总 述 序 设 3:菜单编辑器结构 计 属性区 — 输入或修改菜单项,设臵菜单项属性 编辑区 — 对输入的菜单项进行编辑操作 菜单列表区 — 显示菜单项的分级列表



职 *Caption
程 计 序 算 设 机 计 应
用 基 础 菜
—— ——
DD2.Checked = False
Else
单 Text1.FontUnderline = True Text1.FontStrikethru = True 程 总 DD2.Checked = True DD1.Checked = True 述 序 设 End If End If 计 End Sub End Sub
—— —— 单 程 总 述 序 设 计




【例2 】设计菜单界面如下图所示,下拉菜单中的子菜单项用于 对文本框设臵字体、字号、文字颜色和效果。其中,效果菜单 下的各菜单项具有复选功能,设运行初始时各项前面没有√符 程 号,与文本框初始状态一致 计 序 算 设 机 计 应
用 基 础 菜
VB
—— —— 单 程 总 述 序 设 计
基 础 菜
—— ——
名称:Name属性设臵菜单控件的名字以便在代码中访问它 单 程 设计菜单时必须输入此项! 总 述 序 设 索引:若将菜单控件定义为数组,则Index属性确定数组控件 计 的位臵
快捷键:顶级菜单不能使用快捷键!




属 性 区
VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— —— 单 程 总 述 序 设 计
Else


程 计 序 算 设 机 计 应
用 基 础 菜
专 Private Sub DD3_Click() „粗体 If DD3.Checked = True Then Text1.FontBold = 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
Text1




菜单编辑器设臵如下: VB
标 题 字体(&F) ....宋体 ....黑体 ........隶书 ....楷体_GB2312 字号(&S) ....14 ....16 ....18 ....20 名称 AA AA1 AA1 AA1 AA1 AA1 1 2 3 4 5 Ctrl+A Ctrl+B Ctrl+C Ctrl+D 访问键Alt+S 1 2 3 4 定义成控件 数组BB1 索引 快捷键 说 明




程 计 序 算 设 机 计 应
用 基 础 菜
MouseDown事件: Sub Form_MouseDown(Button As Integer, Shift As Integer,X As Single, Y As Single) (发生在窗体上的事件过程) (1) Button参数 B0=1:按下左键; Button为1(001B) B1=1:按下右键; Button为2(010B) B2=1:按下中键。 Button为4(100B)
—— —— 单 程 总 述 序 设 计




【例3 】在例2的基础上设计窗体和文本框的弹出式菜单,如 下图所示: VB 程 计 序 算 设 机 计 应
用 基 础 菜
菜单编辑器设臵如下:
标题
文本框快捷菜单 ....增加1磅 ....减少1磅 ....锁定 窗体快捷菜单 ....红色背景 ....绿色背景 ....默认背景

VB
—— —— 单 程 总 述 序 设 计




二、弹出式菜单
程 计 序 算 设 机 计 应
用 基 础 菜
独立于菜单栏直接显示在窗体上,也称作上下文菜单、快 捷菜单、右键菜单 1:弹出式菜单的设计 在菜单编辑器中按下拉式菜单的设计方法,并将其顶级菜 单设臵为不可见 在对象的MouseDown事件过程中编写代码,用以下的 PopupMenu方法显示弹出式菜单
VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— —— 单 程 总 述 序 设 计




程 计 序 Private Sub DD1_Click() ‟删除线 Private Sub DD2_Click() ‟下划线 算 设 If DD2.Checked = True Then If DD1.Checked = True Then 机 计 应
VB
程 计 序 算 设 机 计 应
用 基 础 菜
访问键Alt+C
单 程 总 述 序 设 计
菜 单 列 表 区
.…绿色 .…蓝色 效果(&E)
—— ——
访问键Alt+E
....删除线
.…下划线 .…粗体 .…斜体
DD1
DD2 DD3 DD4




VB
程 计 序 算 设 机 计 应
用 基 础 菜
—— —— 单 程 总 述 序 设 计
属 性 区
*Name
VB
Index
Shortcut
编辑区 菜 单 列 表 区
—— —— 单 程 总 述 序 设 计
我们利用菜单编辑器设计每个菜单项,其实每个菜单项都 是一个对象,它们都有自己的属性、事件、方法。




Caption Name Index
VB
Shortcut
程 计 序 算 设 机 标题:Caption属性设臵菜单项中显示的文字若该属性为连字 计 应 用 符(-),则显示为隔离条可定义访问键(在一字母前加&符号)
用 基 础 菜
子 菜 单主菜单Leabharlann 标题)主菜单栏 子 菜 单
—— —— 单 程 总 述 序 设 计
子菜单标题
菜单命令 分隔条
菜单命令对应一个程序模块,执 行命令后子菜单自动消失
相关主题