《Visual Basic程序设计项目化案例教程》第8章 菜单与工具栏设计_第1页
《Visual Basic程序设计项目化案例教程》第8章 菜单与工具栏设计_第2页
《Visual Basic程序设计项目化案例教程》第8章 菜单与工具栏设计_第3页
《Visual Basic程序设计项目化案例教程》第8章 菜单与工具栏设计_第4页
《Visual Basic程序设计项目化案例教程》第8章 菜单与工具栏设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

【案例】简易文本编辑器【本章小结】

一、案例效果

程序运行后,运用“文件”菜单可以新建文件;运用“编辑”菜单可以实现文本的剪切、复制和粘贴;运用“字体格式”菜单可以方便地设置文本的字体、字号和字形;工具栏中各个工具按钮分别对应菜单栏中的菜单命令,也可以运用这些按钮来实现对文本的编辑。本案例的界面设计如图8-1所示。【案例】简易文本编辑器图8-1

二、技术分析

1.菜单的基本概念

Windows程序界面中的菜单(如图8-2所示)常包括以下几个元素:

(1)主菜单栏:通常出现在窗体的标题栏下面,包含一个或多个菜单名(菜单标题)。

(2)菜单:当用户用鼠标单击主菜单栏上的菜单名时出现的命令列表。

(3)菜单命令:在菜单中列出的每一个表项称为一个菜单项,即菜单命令。

(4)子菜单:子菜单又称“级联菜单”,是从一个菜单命令分支出来的菜单。凡是带有子菜单的菜单命令后都有子菜单标记()。

(5)分隔线:在菜单上可以使用分隔线将菜单项划分为一些逻辑组。图8-2

2.菜单编辑器

VisualBasic提供的“菜单编辑器”可以非常方便地在应用程序的窗体上建立菜单。在设计状态,选择“工具”—“菜单编辑器”命令,就可打开“菜单编辑器”对话框。菜单编辑器从功能上分为3个区域,自上而下分别为菜单项数据输入区、菜单编辑区和菜单项显示区,如图8-3所示。图8-3

1)菜单项数据输入区

每一个菜单项都是一个对象,输入区中的每个文本框就是用于设置菜单项属性的。

(1)“标题”文本框,用于设置应用程序菜单上出现的字符,它与一般控件的Caption属性类似。例如本案例中的“文件”、“编辑”、“字体格式”等。如果输入的是一个“-”符号,表示该菜单项为一个分隔线。

说明:如果在菜单标题后添加“(&字母)”的文本,表示可以用Alt+字母的快捷方式打开菜单,通常用于编辑主菜单。

(2)“名称”文本框,用于定义菜单项的控制名,这个属性不会出现在屏幕上,在编辑程序代码时用来引用该菜单项。它与一般控件的Name属性类似。

(3)“索引”文本框,可以输入一个整数来确定菜单项在菜单控件数组中的位置或次序,该位置与菜单的屏幕位置无关。它与一般控件数组的Index属性类似。

说明:如果不是菜单控件数组中的菜单项,该属性不需要设置。

(4)“快捷键”列表框,菜单项的ShortCut属性,单击列表框右侧的下拉箭头,可以在弹出的下拉列表中为菜单项选定快捷键。该项不可以在程序运行时设置。

(5)“帮助上下文ID”文本框,用于给菜单项设置一个与帮助信息相关的索引号ID,该项通常可不必设置。

(6)“协调位置”列表框,通过下拉列表中的选择来确定菜单是否出现或怎样出现。有四种选择,分别为不设置、靠左边、居中和靠右。

(7)“复选”复选框,菜单项的Checked属性,用来设置某一菜单项是否显示复选,标记为“√”。

(8)“有效”复选框,菜单项的Enabled属性,用来设置菜单项是否有效。

(9)“可见”复选框,菜单项的Visible属性,用来设置菜单项在运行时是否可见。

(10)“显示窗口列表”复选框,用来设置在多文档应用程序的菜单中是否包含一个已打开的各个文档的列表。

2)菜单编辑区

“菜单编辑器”窗口中部的7个命令按钮,用于编辑菜单中的名菜单项。

(1):单击该按钮可将菜单列表中选定的菜单标题或菜单选项向左移一个菜单等级,即去除菜单项前面一个内缩符号(‥‥)。

(2):单击该按钮可将菜单列表中选定的菜单标题或菜单选项向右移一个菜单等级,即在菜单项前面添加一个内缩符号(‥‥)。

(3):单击该按钮可将菜单列表中选定的菜单标题或菜单选项在同级菜单内向上移动一个显示位置。

(4):单击该按钮可将菜单列表中选定的菜单标题或菜单选项在同级菜单内向下移动一个显示位置。

(5):单击该按钮可将选定标记下移一行,即选定下一个菜单标题或菜单选项。

(6):单击该按钮可在当前选定行上方插入一行。

(7):单击该按钮将删除当前选定菜单项。3)菜单项显示区

菜单项显示区位于“菜单编辑器”的最下方,用于显示各菜单标题和菜单选项的分级列表。

3.菜单的代码编写

在VisualBasic6.0中,每一个菜单项都是一个控件,都响应相应的事件过程,这个事件过程就是鼠标单击事件,即每一个菜单项都对应一个事件处理过程Name_Click( ),如本案例中当单击“新建”菜单命令时就调用PrivateSubNew_Click( )事件过程。

4.弹出菜单的设计

菜单一般都显示在窗口的顶部,但VisualBasic也支持弹出菜单。弹出菜单是显示在窗体内的浮动菜单,它的位置取决于单击鼠标键时指针的位置。

设计弹出菜单的方法:首先利用菜单编辑器设计一个普通的菜单,而后使用VisualBasic提供的PopupMenu方法来显示弹出菜单。

PopupMenu方法的使用格式:

[对象].PopupMenu菜单名[,标志,X,Y]其中:

参数X、Y给出了弹出菜单相对于窗体的横坐标和纵坐标。如果省略该参数,则弹出菜单显示在鼠标指针当前所在的位置。

标志参数用于在PopupMenu方法中详细地定义弹出菜单的显示位置与显示条件。该参数由位置常数和行为常数组成,位置常数指出弹出菜单的显示位置,行为常数指出弹出菜单的显示条件。

标志参数的位置常数的取值及含义见表8-1。

标志参数的行为常数的取值及含义见表8-2。表8-1标志参数的位置常数的取值及含义表8-2标志参数的行为常数的取值及含义例如:IfButton=2ThenPopupMenuEditMenu,$H4

说明:Button=2表示按下鼠标右键,EditMenu为编辑菜单名,$H4指定了弹出菜单的位置。所以上面语句的含义是:当按下鼠标右键时弹出编辑菜单,弹出的位置以鼠标指针当前所在位置的X坐标为中心。

5.ImageList控件与ToolBar控件

ToolBar控件为不常用控件,必须先选择“工程”—“部件”菜单命令,在弹出的“部件”对话框中选择“控件”选项卡,在下拉列表中选中“MicrosoftWindowsCommonControls6.0”复选框,再单击“确定”按钮,将该控件添加到常用工具箱中,然后才能使用。为了在工具条上显示相应的图片,可以将ToolBar控件与ImageList控件组合使用。

1) ImageList控件的使用

ImageList控件不能单独使用,它专门用来为其他控件提供图像库,是一个图像容器控件。

使用方法:在窗体上添加ImageList控件,选中该控件再单击右键,从弹出的菜单中选择“属性”,然后在“属性页”对话框中选择“图像”标签,如图8-4所示。图8-4索引:表示每个图像的编号,在ToolBar的按钮中引用。

关键字:表示每个图像的标识名,在ToolBar的按钮中引用。

图像数:表示已插入的图像数目。

“插入图片”按钮:单击它可以插入新图像,图像文件的扩展名可以为.ico、.bmp、.gif、.jpg等。

“删除图片”按钮:单击它可以删除选中的图片。

2) ToolBar控件的使用

ToolBar工具栏可以建立多个按钮,每个按钮的图像来自ImageList对象中插入的图像。

使用方法:在窗体上添加ToolBar控件后,在该控件上单击鼠标右键,在弹出菜单中选择“属性”,在打开的“属性页”对话框中选择“通用”标签,如图8-5所示。图8-5图像列表:在该下拉列表框中选择ImageList1,表示将ToolBar与ImageList1连接。

其他选项一般均采用默认值。

注意:当ImageList控件与ToolBar控件相关联后,就不能对ImageList控件进行编辑。若要对其进行增、删图像,必须先把ToolBar控件的“图像列表”下拉列表框设置为“无”,在“属性页”对话框中选择“按钮”标签,如图8-6所示。图8-6“插入按钮”:单击它可以在工具栏上插入Button对象。

“删除按钮”:单击它可以删除当前Button对象。

“索引”文本框:该文本框中的数字表示每个按钮的数字编号,在ButtonClick事件中引用。

“关键字”文本框:该文本框中的内容表示每个按钮的标识名,在ButtonClick事件中引用。

“图像”文本框:选定ImageList对象中的图像,可以用图像的Key或Index值。

“样式”下拉列表框:指定按钮样式,共有5种,含义见表8-3。表8-3按钮样式及含义

3) ToolBar控件事件的响应

工具栏上的按钮实际上是一组控件数组,单击工具栏上的按钮时会发生ButtonClick事件,我们可以利用数组的索引(Index属性)或关键字(Key属性)来识别被单击的按钮,在使用SelectCase语句来完成代码的编制。三、操作步骤

1.创建程序界面

(1)启动VisualBasic6.0,新建一个“标准EXE”工程。

(2)在窗体上添加一个文本框控件,两个组合框控件。

(3)打开菜单编辑器窗口设计菜单,菜单的各项设置如表8-4所示。表8-4设 置 各 菜 单

(4)选择“工程”-“部件”菜单命令,选出“部件”对话框,在“控件”选项卡的下拉列表框中选中“MicrosoftWindowsCommonControls6.0”复选框,然后单击“确定”按钮,将ToolBar控件与ImageList控件添加到常用工具箱中。

(5)双击常用工具箱中的ToolBar和ImageList控件,在窗体上添加这两个控件。

(6)按照ImageList控件的使用方法,在该控件中添加7张图片,并为每张图片建立一个索引号(参见图8-4)。

(7)按照ToolBar控件的使用方法,利用图8-5所示的“图像列表”文本框将ToolBar和ImageList控件相关联,利用图8-6所示的“插入按钮”在该控件中添加7个命令按钮,并为每个按钮建立一个索引号,再利用“图像”文本框将ImageList控件中的图片与ToolBar控件中的命令按钮相对应。

2.属性的设置与修改

按照表8-5所列设置或修改对象的属性。表8-5对象属性的设置

3.程序代码设计

1)窗体加载事件的代码

PrivateSubForm_Load()

Text1.Text=“这是一个利用菜单与工具条控件设计的简单文本编辑器,它可以实现文件的新建、剪切、复制、删除以及字体格式设置等功能。”

Combo1.AddItem10

Combo1.AddItem12

Combo1.AddItem20

Combo2.AddItem“隶书”

Combo2.AddItem“华文新魏”

Combo2.AddItem“宋体”

EndSub2)各菜单项的代码设计

PrivateSubNew_Click() '新建菜单项的代码

Text1.Text=""

EndSub

PrivateSubExit_Click() '退出菜单项的代码

End

EndSubPrivateSubCut_Click() '剪切菜单项的代码

Clipboard.Clear

Clipboard.SetTextText1.SelText

Text1.SelText=""

EndSub

PrivateSubCopy_Click() '复制菜单项的代码

Clipboard.Clear

Clipboard.SetTextText1.SelText

EndSubPrivateSubPast_Click()

'粘贴菜单项的代码

Text1.SelText=Clipboard.GetText

EndSub

PrivateSubFontSize10_Click()

'字号菜单的代码

Text1.FontSize=10

EndSub

PrivateSubFontSize12_Click()

Text1.FontSize=12

EndSubPrivateSubFontSize20_Click()

Text1.FontSize=20

EndSub

PrivateSubHWXW_Click() '字体菜单的代码

Text1.FontName="华文新魏"

EndSub

PrivateSubLishu_Click()

Text1.FontName="隶书"

EndSubPrivateSubSongTi_Click()

Text1.FontName="宋体"

EndSub

PrivateSubFontBold_Click() '字形中加粗菜单项的代码

IfText1.FontBold=TrueThen

Text1.FontBold=False

Else

Text1.FontBold=True

EndIf

EndSubPrivateSubFontItalic_Click()

'字形中倾斜菜单项的代码

IfText1.FontItalic=TrueThen

Text1.FontItalic=False

Else

Text1.FontItalic=True

EndIf

EndSub3)工具条的代码

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Key

Case"New"

Text1.Text=""

Case"Cut"

Clipboard.Clear

Clipboard.SetTextText1.Text

Text1.SelText=""Case"Copy"

Clipboard.Clear

Clipboard.SetTextText1.SelText

Case"Past"

Text1.SelText=Clipboard.GetText

Case"Bold"

IfText1.FontBold=TrueThen

Text1.FontBold=False

Else

Text1.FontBold=True

EndIfCase“Italic”

IfText1.FontItalic=TrueThe

温馨提示

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

最新文档

评论

0/150

提交评论