ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:368.96KB ,
资源ID:23356916      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23356916.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第10章菜单与工具栏.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第10章菜单与工具栏.docx

1、第10章菜单与工具栏第10章菜单与工具栏10.1 使用菜单如果应用程序要为用户提供一组命令,菜单提供一种方便的给命令分组的方法,并使用户容易访问这些命令。 10.1.1 下拉式菜单下拉式菜单的组成情况如图所示。菜单栏在窗体的标题栏下面,并包含一个或多个菜单标题。菜单标题菜单显示的名称(如“文件”),也称为主菜单。当单击一个菜单标题时,包含菜单项目的列表就被拉下来。菜单项即可菜单命令,可以包括命令(如“新建”和“退出”)、分隔条、和子菜单标题。用户看到的每个菜单项和在“菜单编辑器”中定义的一个菜单控件对应。菜单控件是一个对象,与其它对象一样,它具有定义它的外观与行为的属性。在设计或运行时可以设置

2、 Caption 属性、Enabled 和 Visible 属性、Checked 属性以及其它属性。 菜单控件只包含一个事件,即 Click 事件,当用鼠标或键盘选中该菜单控件时,将调用该事件。1菜单的设计菜单编辑器在VB中用菜单编辑器可以方便地创建新的菜单和菜单栏、在已有的菜单上增加新命令、用自己的命令来替换已有的菜单命令、以及修改和删除已有的菜单和菜单栏。进入菜单编辑器的途径从“工具”菜单上,选取“菜单编辑器”;或者在“工具栏”上单击“菜单编辑器”按钮;或者在窗体上单击右键,在随后弹出的快捷菜单中选择“菜单编辑器”命令;还可以按热键“Ctrl+E”,都会出现如上图所示的窗口,菜单设计将通过

3、这个窗口来完成。菜单控属性的设置 大多数菜单控件属性可用菜单编辑器设置,所有的菜单属性在“属性”窗口中也都是可用的。其中在菜单设计中最主要的属性是: Name名称,这是代码中用来引用菜单控件的名字。Caption标题,这是出现在控件上的文本。 在菜单编辑器中创建菜单控件的步骤: 选取该窗体。从“工具”菜单中,选取“菜单编辑器”,或者在“工具栏”上单击“菜单编辑器”按钮进入菜单编辑器。在“标题”文本框中,为第一个菜单标题键入希望在菜单栏上显示的文本。如果希望某一字符成为该菜单项的访问键,也可以在该字符前面加上一个(&)字符。在菜单中,这一字符会自动加上一条下划线,操作时同时按Alt键和带有下划线

4、的字母可选择这个菜单项。菜单标题文本显示在菜单控件列表框中。在“名称”文本框中,键入将用来在代码中引用该菜单控件的名字。单击向左或向右箭头按钮(,),可以改变该控件的缩进级(菜单级)。如果需要的话,还可以设置控件的其他属性。这一工作可以在菜单编辑器做或以后在“属性”窗口中做。选取下一个(Next)就可以再建一个菜单项(控件)。或者: 单击插入(Insert)可以在现有的控件之间增加一个菜单项(控件)也可以单击向上与向下的箭头按钮,在现有菜单控件之中移动控件。如果窗体所有的菜单控件都已创建,选取“确定”可关闭菜单编辑器。 创建的菜单标题将显示在窗体上。在设计时,单击一个菜单标题可下拉其相应的菜单

5、项。在菜单编辑器中创建分隔符条的步骤 如果想在一现有菜单中增加一个分隔符条,选取“插入”,在想要分隔开来的菜单项之间插入一个菜单控件。如有必要,单击右箭头按钮使新菜单项缩进到与它要隔开的菜单项同级。在“标题”文本框中键入一个连字符”-“。设置“名称”属性。注意:虽然分隔符条是当作菜单控件来创建的,它们却不能响应 Click 事件,而且也不能被选取。菜单设计中的一些编辑操作在菜单设计过程中,经常需要对菜单控件进行一些编辑操作或设置其它一些属性。快捷键(Shortcut)下拉列表:在此列表框中列出了很多快捷键供用户为相应的菜单项选择一个快捷键,选择之后快捷键会显示在菜单标题的右边。当然也可以不选择

6、快捷键。删除(Delete)按钮:删除选定的菜单项。复选(Checked)检查框:为选择的菜单项标记“”,表示该菜单项是一个选项。有效(Enabled)检查框:决定该菜单项是否为可选(有效)项。可见(Visible)检查框:决定该菜单项是否可见。2菜单设计示例(p210-1.vbp)编写完成加、减、乘、除运算的程序。建立控件 在窗体上安放6个控件,其属性如下表:默认控件名NameCaptionTextBorderstyleLabel1lblInput1操作数1无定义缺省Label2lblInput2操作数2无定义缺省Label3lblResult计算机结果无定义缺省Label4lblDispl

7、ayResult空白无定义1-Fixed SingleText1txtNo1无定义空白缺省Text2txtNo2无定义空白缺省设计菜单进入菜单编辑器完成菜单设计,各菜单项的属性如下表:菜单项名称快捷键计算1Cal1加法AddCtrl+A减法SubCtrl+B计算2Cal2乘法MulCtrl+C除法DivCtrl+D清除CleanCtrl+E当完成所有菜单设计的输入工作后,菜单设计窗口如左图所示,这时选择“确定”命令,就完成了整个菜单的建立工作。菜单运行情况如下图所示。编写事件过程在窗体上分别点击菜单项,为各菜单项编写相应的事件过程:Private Sub Add_Click() 加法事件过程

8、x = Val(txtNo1.Text) + Val(txtNo2.Text) lblDisplayResult.Caption = Str(x)End SubPrivate Sub Sub_Click()减法事件过程 x = Val(txtNo1.Text) - Val(txtNo2.Text) lblDisplayResult.Caption = Str(x)End SubPrivate Sub Div_Click() 除法事件过程 x = Val(txtNo1.Text) / Val(txtNo2.Text) lblDisplayResult.Caption = Str(x)End Su

9、bPrivate Sub Mul_Click() 乘法事件过程 x = Val(txtNo1.Text) * Val(txtNo2.Text) lblDisplayResult.Caption = Str(x)End SubPrivate Sub Clean_Click()清除事件过程 txtNo1.Text = txtNo2.Text = lblDisplayResult.Caption = txtNo1.SetFocus 控制权转移到txtNo1文本框上End SubPrivate Sub Quit_Click() 结束事件过程 EndEnd Sub3. 菜单控件数组菜单控件数组就是在同一

10、菜单上共享相同名称和事件过程的菜单项目的集合。菜单控件数组使用于: 在运行时要创建一个新菜单项,它必须是控件数组中的成员。 简化代码,因为通用代码块可以被所有菜单项使用。 每个菜单控件数组元素都由唯一的索引值来标识,该值在菜单编辑器上“Index 属性框”中指定。当一个控件数组成员识别一个事件时,Visual Basic 将其 Index 属性值作为一个附加的参数传递给事件过程。事件过程必须包含有核对 Index 属性值的代码,因而可以判断出正在使用的是哪一个控件。菜单编辑器中创建菜单控件数组的步骤: 选取窗体。从“工具”菜单中,选取“菜单编辑器”。 或在“工具栏”上单击“菜单编辑器”按钮。在

11、“标题”文本框中,键入想出现在菜单栏中的第一个菜单标题的文本。菜单标题文本显示在菜单控件列表框中。在“名称”文本框中,键入将在代码中用来引用菜单控件的名称(不能与下面的菜单控件数组同名)。保持“索引”框是空的。在下一个缩进级,通过设定“标题”和“名称”来创建将成为数组中第一个元素的菜单项。将数组中第一个元素的“索引”设置为 0。在第一个的同一缩进级上创建第二个菜单项。将第二个元素的“名称”设置成与第一个元素相同,且把它的“索引”设置为 1。对于数组中的后续元素重复步骤。 注意:菜单控件数组的各元素在菜单控件列表框中必须是连续的,而且必须在同一缩进级上。创建菜单控件数组时,要把在菜单中出现的分隔

12、符条也包括进去。例10-2(p213-1.vbp)文本编辑器。对例9-2进行修改。将公共对话框控件移至窗体上,删去图片框及上面的按钮打开菜单编辑器,按P213表10-4设置菜单项,注意Index的设置,这里建立了两个菜单项数组。标题(Caption)名称(Name)索引(Index)文件(&F)Files新建(&N)File0打开(&O)File1保存(&S)File2另存(&A)File3关闭(&X)File4编辑(&E)Edit剪切Edi0复制Edi1粘贴Edi2删除Edi3菜单项数组File的Click的事件过程可直接用例9-2的事件过程。编写菜单项数组Edi的Click事件过程:Pri

13、vate Sub Edi_Click(Index As Integer) Select Case Index Case 0 剪切 Clipboard.SetText txtNoteEdit.SelText 将文本框中的文本放入系统剪贴板 txtNoteEdit.SelText = Case 1 复制 Clipboard.SetText txtNoteEdit.SelText Case 2 粘贴 txtNoteEdit.SelText = Clipboard.GetText()把系统剪贴板中的内容赋值给文本框 Case 3 删除 txtNoteEdit.SelText = End SelectE

14、nd Sub4菜单项的可用与不可用利用菜单项的Visible属性,可以控制菜单项可用或不可用。例10-3(p214-1.vbp)对上例进行改进,当选中文本时,编辑操作可用,否则不能用。在上例基础上增加一个主菜单项Edit的Click事件过程:Private Sub Edit_Click() Edi(0).Enabled = IIf(txtNoteEdit.SelLength = 0, False, True) Edi(1).Enabled = IIf(txtNoteEdit.SelLength = 0, False, True) Edi(3).Enabled = IIf(txtNoteEdit

15、.SelLength = 0, False, True)End Sub10.1.2 弹出菜单弹出式菜单即快捷菜单,是独立于菜单栏而显示在窗体上的浮动菜单。在弹出式菜单上显示的项目取决于按下鼠标右键时指针所处的位置;因而,弹出式菜单也被称为上下文菜单。在 Microsoft Windows 98 /2000中,可以通过单击鼠标右键来激活上下文菜单。在运行时,至少含有一个菜单项的任何菜单都可以作为弹出式菜单被显示。为了显示弹出式菜单,可使用 PopupMenu 方法。这个方法使用的语法格式如下:object.PopupMenu menuname, flags, x, y, boldcommando

16、bject:可选的。一个对象表达式,其值为列表中的一个对象。如果省略 object,则带有焦点的 Form 对象缺省为 object。menuname:必需的。要显示的弹出式菜单名。指定的菜单必须含有至少一个子菜单。也可以是菜单控件数组的上层菜单名flags:可选的。一个数值或常数,用以指定弹出式菜单的位置和行为。x:可选的。指定显示弹出式菜单的 x 坐标。如果该参数省略,则使用鼠标的坐标。y:可选的。指定显示弹出式菜单的 y 坐标。如果该参数省略,则使用鼠标的坐标。boldcommand:可选的。指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑

17、体字出现的控件。影响弹出菜单位置的Flags设置值有:常数位置值描述VbPopupMenuLeftAlign0(缺省值)。弹出式菜单的左边定位于 x。VbPopupMenuCenterAlign4弹出式菜单的于 x 居中位。VbPopupMenuRightAlign8弹出式菜单的右边定位于 x。影响弹出菜单行为的flasg设置值有:常数行为值描述VbPopupMenuLeftButton0(缺省值)。 仅当使用鼠标左按钮时, 弹出式菜单中的项目才响应鼠标单击。VbPopupMenuRightButton2不论使用鼠标右按钮还是左按钮, 弹出式菜单中的项目都响应鼠标单击。例:Pict的下级菜单是

18、一个菜单数组PicPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then PopupMenu Pict, 2 Pict的子菜单是菜单数组Pic End IfEnd SubPrivate Sub Pic_Click(Index As Integer) Cls Select Case Index Case 0 Line (2000, 2000)-(4000, 2000) Case 1 Line (100, 100)-(3000, 3000

19、), , B Case 2 Me.Circle (2000, 2000), 1000 End SelectEnd Sub例(P215-1.VBP)编写一个能完成四则运算的程序。要求使用弹出式菜单。Private Sub Add_Click()选择加命令过程 X = Val(txtNo1.Text) + Val(txtNo2.Text) lblDisplayResult.Caption = Str(X)End SubPrivate Sub Clean_Click() 选择清除过程 txtNo1.Text = txtNo2.Text = lblDisplayResult.Caption = txt

20、No1.SetFocusEnd SubPrivate Sub Div_Click() 选择除法命令过程 X = Val(txtNo1.Text) / Val(txtNo2.Text) lblDisplayResult.Caption = Str(X)End SubPrivate Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then 单击鼠标右键 PopupMenu Cal2, 2 弹出快捷菜单 End IfEnd SubPrivate Sub Mu

21、l_Click() 选择乘法命令过程 X = Val(txtNo1.Text) * Val(txtNo2.Text) lblDisplayResult.Caption = Str(X)End SubPrivate Sub Quit_Click() EndEnd SubPrivate Sub Sub_Click() 选择减法命令过程 X = Val(txtNo1.Text) - Val(txtNo2.Text) lblDisplayResult.Caption = Str(X)End Sub 注:在VB的文本框中,即使不编写弹出菜单的程序,会自动生成一个含各种编辑操作的弹出菜单。三种鼠标事件使用

22、下列参数。Button一个位域参数,其中常用三位描述鼠标按钮的状态。b0=1表示左键按下或释放;b1=1表示右键按下或释放;b2=1表示中键按下或释放。Shift一个位域参数,用三位描述 SHIFT、CTRL 与 ALT 键的状态。b0=1表示Shift键被按下;b1=1表示Ctrl键被按下;b2=1表示Alt键被按下。x, y鼠标指针的位置,这里用到了接受鼠标事件的对象的坐标系统描述的鼠标指针位置。10.2 使用工具栏可以用工具栏进一步增强应用程序的菜单界面。具栏提供了对于应用程序中最常用的菜单命令的快速访问。使用 ToolBar 控件来创建工具栏非常容易且很方便,它在 Visual Bas

23、ic的专业版与企业版中是可用的。10.2.1 用手工方式制作工具栏在窗体上放置一个图片框。 图片框作为工具按钮的容器,使图片框的宽度会自动伸展,为此设置Align 属性为非0,如Align=1,图片框会自动出现在窗体顶部,宽度随窗体变化,高由用户设置。2 图片框中,可以放置任何想在工具栏上显示的控件。 典型地,用 CommandButton 或 Image 控件来创建工具栏按钮。要在图片框中添加控件,单击工具栏中的控件按钮,然后在图片框中画出它。注意 当窗体中包含了图片框时,该窗体的内部区域不包括图片框在内。例如: 窗体的 ScaleHeigh 属性返回窗体的内部高度,这个高度已不包括图片框的

24、高度。3 计时属性。 使用工具栏的一个好处是可以显示一个形象的命令图示。Image 控件是作为工具栏按钮的一个很好的选择,因为可以用它来显示一个位图。在设计时设置其 Picture 属性来显示一个位图;这样,当该按钮被单击时,即能提供一个命令执行的可见信息。也可以通过设置按钮的 ToolTipText 属性来使用工具提示,这样,当用户把鼠标指针保持在一个按钮上时,就可以显示出该工具栏按钮的名称。4 编写代码。 因为工具栏频繁地用于提供对其它命令的快捷访问,因而在大部分时间内都是从每一个按钮的 Click 事件中调用其它过程,比如对应的菜单命令。例10-3为例10-3中的文本编辑器中增加一个自定

25、义的工具栏。在窗体上增加控件:图片框Picture1,按钮组Command1(0)-Command1(2),复选组Check1(0)-Check(2):设置属性:对象属性属性值说明Picture1Align1-Align Top位于顶部Command1()Caption清空Style1-Graphical图形按钮PictureNew.bmp,Open.bmp,Save.bmpCheck1()Caption清空Style1-Graphical图形按钮PictureBld.bmp,Itl.bmp,Undrln.mmp修改编写代码:Private Sub Form_Resize() 窗体大小改变事件

26、,确保文本框随之改变大小 With txtNoteEdit .Left = 0 .Top = Picture1.Height .Height = frmNoteEdit.ScaleHeight - Picture1.Height .Width = frmNoteEdit.ScaleWidth End WithEnd SubPrivate Sub Command1_Click(Index As Integer)按钮组的Click事件过程 File_Click (Index)End SubPrivate Sub Check1_Click(Index As Integer) 复选组的Click事件过

27、程 Select Case Index Case 0 txtNoteEdit.FontBold = Not txtNoteEdit.FontBold Case 1 txtNoteEdit.FontItalic = Not txtNoteEdit.FontItalic Case 2 txtNoteEdit.FontUnderline = Not txtNoteEdit.FontUnderline End SelectEnd Sub10.2.2 使用Toolbar控件与ImageList控件Toolbar 控件( ActiveX控件)包含用来创建工具栏的 Button 对象的集合。工具栏可与应用程

28、序相关联。在工具箱中添加ToolBar:工程部件选择Microsoft Windows Comman Contrl 6.01. Toolbar控件简介在工具箱中双击Toolbar控件或单击Toolbar后在窗体中画出该控件,Toolbar自动加入窗体并出现在窗体的顶部,并通过设置Align属性可以控制工具栏在窗体中的位置。用鼠标右键单击窗体上的Toolbar控件,弹出Toolbar的属性页;或者选中窗体上的控件后在属性窗口选择Custom(自定义)右边的三点,也可以弹出Toolbar 的属性页。在General(通用)卡中的ImageList(图象列表)属性用来与ImageList控件建立关联

29、。窗体上若没有ImageList控件该列表为空。在属性页的按钮(Button)卡中有以下各项:InsertButton(插入按钮)与RemoveButton(删除按钮):在Button集合中添、删元素。通过Button集合可以访问工具栏中的各个按钮。一般情况下,工具栏中的按钮与应用菜单中的菜单项相对应,可以用它们来访问应用程序最常用的功能和命令。Index(索引)与Key(关键字):Button集合中按钮的标识,其中Index为整型,Key为字符串型,访问按钮用Index或Key均可。Caption(标题)与Description(描述):Caption是按钮上的文字,Description是按钮的说明信息。Value(值):决定按钮的状态 0-tbrUnpressed(弹起状态) 1-tbrPressed(按下状态)Style(样式):决定按钮的行为特点,并将影响按钮的功能。常数值用途tbrDefault0如果按钮所代表的功能不依赖于其它功能,使用 Default 按钮样式。例如,“保存文件”操作可以在任何时候进行。另外,如果按钮被按下,在完成功能后它会自动地弹回。tbrCheck1当按钮代表的功能是某种开关类型时,可使用 Check 样式。例如,在使用 RichTextBox

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1