VB鼠标触发显示下拉菜单
VB课件弹出式菜单
1 弹出菜单 2 弹出菜单设计方法 3 为文本编辑器添加弹出菜单 4 上机操作
计算机网络教研室
1、弹出式菜单
弹出式菜单设计
也叫快捷菜单,是一组独立的菜单,在窗 体上浮动显示,一般随鼠标右键出现。
2、设计弹出式菜单
①在菜单编辑器中添加菜单,添加的方法与下拉 菜单相同,唯一的区别是顶级菜单不勾选“可见” 选项。 ②在“鼠标”事件中检测到按了鼠标右键,执行 命令:
Private Sub T4_Click() '全选 RTB.SelStart = 0 RTB.SelLength = Len(RTB.Text) End Sub
Private Sub T3_Click() '粘贴 RTB.SelText = Clipboard.GetText
End Sub
思考:这些程序与下拉菜单中的相同菜单命令的程序有什 么共同之处?可用什么方法避免程序的重复编写?
PopupMenu 菜单名,Flags,x,y ③为各菜单编写代码:与下拉菜单的代码编写一 样。
计算机网络教研室
为文本编辑器添加弹出菜单
在“菜单编辑器”末尾添加如下的菜 单:
计算机网络教研室
除“格式设置”项外, 其余菜单项要勾选“可 见”选项。
为文本编辑器添加弹出菜单
在增强文本框的鼠标事件中添加弹出菜单的代码: Private Sub RTB_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
计算机网络教研室
学生上机实战 完善自己的程序 添加更加丰富的快捷菜单
计算机网络教研室
课堂小结 本节主要学习了如下内容: 添加弹出式菜单 弹出式菜单顶级菜单项不可见。用PopupMenu命令弹出快捷菜单。 弹出菜单编程。
下拉菜单(鼠标移动到时显示)
1、选中一个矩形框做背景框,表示此处是菜单
2、在合适的位置写上一级菜单(文本面板)放矩形框上
3、在一级菜单上加一个动态面板,标签:首页,状态:显示
4、点击动态面板状态---编辑---自制下拉菜单样式(鼠标移至时显示的内容)
5、回到HOME界面
A、调整动态面板的位置使和之前一级菜单重合
B、隐藏动态面板
C、复制动态面板和一级菜单放置合适位置
D、对复制的面板重命名
6、选择其中一个一级菜单内容---onMouseEnter----显示动态面板(其余菜单可重复6动作)
7、选择矩形-----onMouseEnter------隐藏动态面板-----全选---确定。
VBA中的动态列表与下拉菜单
VBA中的动态列表与下拉菜单VBA(Visual Basic for Applications)是一种用于在各种Microsoft Office应用程序中编写宏的编程语言。
在Excel中,VBA可用于创建动态列表和下拉菜单,这可以为用户提供更高效、易于使用的工作环境。
本文将重点介绍如何使用VBA 在Excel中创建动态列表和下拉菜单。
动态列表是一种根据特定条件而变化的列表。
通过使用VBA,我们可以根据特定条件来更新和管理动态列表。
一种常见的用法是根据某个单元格的值动态更改列表内容。
下面是一个简单的例子,以说明如何创建一个基于单元格值的动态列表。
首先,我们需要在工作表上创建一个下拉菜单。
在Excel 中,我们可以使用数据验证功能来创建下拉菜单。
但是,通过使用VBA,我们可以更灵活地控制下拉菜单的内容。
以下是创建基于单元格值的动态列表的步骤:步骤1:打开Visual Basic编辑器(可通过按下ALT + F11键来打开)。
步骤2:在“项目资源管理器”面板中,双击打开要添加VBA代码的工作簿。
步骤3:在工作簿的项目窗口中,双击打开“Sheet1”(或其他你想要创建动态列表的工作表)。
步骤4:在工作表中的代码窗口中,输入以下VBA代码:```VBAPrivate Sub Worksheet_Change(ByVal Target As Range)If Not Application.Intersect(Target, Range("A1")) Is Nothing Then'在下面的代码中,你可以按照你的需求更新列表的内容With Range("A2:A6").Validation.Delete.Add Type:=xlValidateList,AlertStyle:=xlValidAlertStop, _Operator:=xlBetween,Formula1:="=INDIRECT($A$1)"End WithEnd IfEnd Sub```上述VBA代码将在单元格A1的值更改时自动更新A2到A6的动态列表。
计算机二级VB弹出式菜单
弹出式菜单(快捷菜单):9,[14]1、在菜单编辑器中建立菜单结构,主菜单设置为不可见2、在窗体中调用菜单:popupmenu 主菜单的名称单击右键时调用:对象名称_MouseDown(……)if button=2 thenpopupmenu 主菜单的名称end if通用对话框:23,43,[12,14,22]添加通用对话框控件:P313在工具箱的空白处单击右键→部件→勾选“Microsoft Common Dialog control 6.0”CommonDialog1.DialogTitle=”Open”‘标题CommonDialog1.Filter = "所有文件|*.*|文本文件|*.txt" ‘设置文件过滤器CommonDialog1.FilterIndex = 2 ‘设置默认文件类型CommonDialog1.InitDir = App.Path ‘设置默认目录CommonDialog1.ShowOpen ‘设置对话框的类型Open CommonDialog1.FileName For Input As #1 ‘打开在对话框中选择的文件Input #1, sText1.Text = sClose #1例题:将打开对话框中所选择的文件里的内容读到文本框中CommonDialog1.DialogTitle = "Open"CommonDialog1.InitDir = "D:\"CommonDialog1.ShowOpenOpen CommonDialog1.FileName For Input As #1Text1.Text = ""Do While Not EOF(1)Line Input #1, aText1.Text = Text1.Text + a + Chr(13) + Chr(10)LoopClose #1。
VB中鼠标双击编辑MSFlexGrid
VB中鼠标双击编辑MSFlexGrid界面设置如图所示程序参考网上,已做修改:Const ASC_ENTER = 13 '回车Dim gRow As IntegerDim gCol As IntegerPrivate Sub MSFlexGrid1_DblClick()Text1.Top = MSFlexGrid1.CellTop + MSFlexGrid1.Top + Frame1.Top 'textbox的位置与所选单元格位置一致Text1.Left = MSFlexGrid1.CellLeft + MSFlexGrid1.Left + Frame1.LeftgRow = MSFlexGrid1.Row '要赋值的单元格横坐标gCol = MSFlexGrid1.Col '要赋值的单元格纵坐标Text1.Width = MSFlexGrid1.CellWidth '设置textbox导向与单元格大小一致Text1.Height = MSFlexGrid1.CellHeightText1.Text = MSFlexGrid1.Text '保留原值Text1.Visible = TrueText1.ZOrder 0 '把Text1 放到最前面!Text1.SetFocusEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = ASC_ENTER Then '按下回车键MSFlexGrid1.SetFocus 'MSFlexGrid1获得焦点,完成单元格赋值KeyAscii = 0 'End IfEnd SubPrivate Sub Text1_LostFocus()Dim tmpRow%, tmpCol%' Save current settings of Grid Row and col. This is needed only if ' the focus is set somewhere else in the Grid.tmpRow = MSFlexGrid1.RowtmpCol = MSFlexGrid1.Col' Set Row and Col back to what they were before Text1_LostFocus: MSFlexGrid1.Row = gRow '要赋值的单元格横坐标MSFlexGrid1.Col = gCol '要赋值的单元格纵坐标MSFlexGrid1.Text = Text1.Text ' 赋值Text1.SelStart = Len(Text1) '设置textbox光标在内容末尾Text1.Visible = False ' text box不可见' Return row and Col contents:MSFlexGrid1.Row = tmpRowMSFlexGrid1.Col = tmpColEnd Sub。
VB中ToolBar的使用
VB中工具条的使用工具条(Toolbar)是Windows环境下应用程序常用的界面元素。
把菜单中常用的命令做成按钮安排在工具条中,配上适当的图标符号和文本提示,确实极大地方便了用户。
以Microsoft Word 7.0 for Windows95的工具条为例,其中的内容和功能非常丰富。
Word7.0工具条中不仅包含与文件操作等有关的常规图标按钮,还有设置字体字号等等的组合框(Combobox)。
按钮之间可以分组,例如设置段落对齐方式的一组按钮,同组中的按钮每次只允许有一个被按下,按下一个按钮时,同组中其它按钮自动弹起。
另外,Word7.0的工具条还有用户裁剪(Customize)功能。
用户在工具条上双击鼠标时,工具条弹出一个裁剪对话框,用户可以隐藏、显示以及重新排列工具条中的按钮。
如果在我们自己开发的软件界面中加上这样的工具条,我们的软件就可以与商业软件相媲美了。
在诸多Windows应用程序开发平台中,Microsoft Visual BASIC以易学易用、功能强大的优点特出独立,成为开发Windows应用程序的首选平台之一。
在VB4.0及以前的版本中,开发象Word7.0中的工具条还是颇费辛苦的。
一般思路是在窗体(Form)中安放一个图片框(PictureBox)作为容器(Container),再往其中加入图象(Image)控件,用图象控件载入图标来模拟按钮。
对多个按钮的控制要分别完成,管理较为复杂。
在VB5.0中,系统提供了一个专门的工具条控件Toolbar。
用Toolbar来实现类似Word7.0中的工具条非常方便。
工具条控件Toolbar简介1.在工具箱中加入Toolbar工具条控件Toolbar不在VB5.0工具箱(Toolbox)的常规标准控件之列,因此在首次安装VB5.0后,工具箱中并没有Toolbar。
在工具箱中加入Toolbar要通过Project菜单中的Components命令,该命令弹出一个选择安装组件的窗口。
VB菜单工具栏
14-4 制作工具栏
一般情况下,工具栏是用来配合菜单。工具栏具有菜 单所缺少的图形化的外观,而且提供了比菜单更快速的访 问方式。因此,利用工具栏与应用程序中最常用的菜单命 令建立联系,由此可提高应用程序的用户操作速度。 为便于创建工具栏,Visual Basic的专业版与企业版 专门提供了用于制作工具栏的 ToolBar 控件。
6. 插入(Insert)按钮:
7. 删除(Delete)按钮: 8 ↓和↑按钮: 9. 复选(Checked)检查框: 10. 有效(Enabled)检查框: 11. 显示窗口列表 (Window List)检查框:
菜单的主要属性
1. 标题(Caption):在窗口上显示,例如:输入&File, 显示为: File,热键:Alt+F 2. 名称(Name): 菜单项的名称,分界符也应有名称。 3. 快捷键(Shortcut):下拉列表框 4 下一个(Next): 设置下一个菜单项。 5. ←和→按钮:“→” 下一级菜单项;“←”上一级菜单 项。 6. 插入(Insert)按钮:插入菜单项 7. 删除(Delete)按钮:删除菜单项 8. ↓和↑按钮: 改变菜单项位置。 9. 复选(Checked)检查框:菜单项为选定项。 10. 有效(Enabled)检查框:True:菜单项可选;False: 不可选。 11. 显示窗口列表(Window List)检查框: 决定是否显示所有打开的子窗体标题。 对MDI窗体和MDI子窗体有效,对普通窗体无效。
第十四章
菜单和工具栏
本章内容及要求:
1. 掌握菜单的制作和编程,包括普通菜单、弹出 式菜单以及动态变化的菜单。 2. 掌List控件之间的协作关系。
VB菜单、工具栏、菜单栏设计
03 提供足够的自定义选项,以满足不同用户的个性 化需求。
优化界面布局和交互方式
01
合理安排界面元素的位置和大小,使其符合用户的视觉习惯。
02
简化操作流程,减少不必要的步骤和点击次数。
提供清晰的视觉反馈,如按钮点击效果、动态加载指示等,以
03
03
菜单栏设计
菜单栏的布局
水平布局
将菜单项水平排列,适合于较长的菜单项名称。
垂直布局
将菜单项垂直排列,适合于较短的菜单项名称。
分组布局
将相关联的菜单项分组,便于用户快速找到所需功能。
菜单栏的设计原则
简洁明了
菜单项名称应简短、清晰,避免使用过于专 业的术语。
层次分明
菜单项应按照功能分类,形成清晰的层次结 构。
VB菜单、工具栏、菜 单栏设计
目录
• VB菜单设计 • 工具栏设计 • 菜单栏设计 • VB界面设计中的注意事项 • VB界面设计实例分析
01
VB菜单设计
菜单的类型
下拉菜单
下拉菜单是常见的菜单类型,用户点击菜单 项后,会弹出下拉列表供用户选择。
弹出菜单
弹出菜单通常在用户右键点击时出现,提供 一些常用的功能或操作。
02
工具栏设计
工具栏的种类
主工具栏
包含常用命令的综合性工具栏,方便 用户快速访问常用功能。
自定义工具栏
用户可以根据自己的需求创建自定义 工具栏,添加或删除按钮,以适应特 定工作流程。
浮动工具栏
可移动到屏幕任意位置的工具栏,方 便用户在不同区域使用。
停靠工具栏
可以自动停靠在窗体边缘的工具栏, 便于用户快速访问常用命令。
VB 菜单、工具栏和状态栏
菜单、工具栏和状态栏1菜单1.1菜单编辑器VB提供的菜单编辑器来设计实现。
菜单编辑器的启动方式:(1)选择“工具/菜单编辑器”命令。
(2)利用快捷键<Ctrl+E>来调用“菜单编辑器”。
1.2创建最简菜单在菜单的属性设置区域中有诸多的属性需要设置,其中,“标题”和“名称”属性是必须要设置的,其他的属性可以采用默认值,或者不进行设置。
仅设置了“标题”和“名称”属性的菜单就是最简菜单。
注意:“标题”属性和“名称”属性必须都设置,缺一不可,否则将不被菜单编辑器接受。
1.3设置菜单的快捷键和访问键快捷键是用于执行一个命令的功能键或者组合键,例如,<Ctrl+C>为复制操作。
访问键是指用户按下<Alt>键同时又按下的键。
例如,<Alt+F>用于打开“文件”菜单,这里的<F>键即为访问键。
1.4创建级联菜单在菜单编辑器中,以缩进量显示级联菜单的形式。
在菜单编辑器的菜单列表区中由内缩进符号表明菜单项所在的层次,每4个点表示一层,最多可以有5个内缩符号,最后面的菜单项为第5层。
1.5创建复选菜单通过复选菜单可以实现在菜单中执行或取消执行某项操作。
菜单的复选标记有两个作用:一是表示打开或关闭的条件状态,选取菜单命令可以交替地添加或删除复选标记;二是指示几个模式中哪个或哪几个在起作用。
1.6 设置菜单分隔条利用菜单分隔条可使功能相近的菜单放在一组,使子菜单看起来更加清晰、明了。
1.7 设置菜单无效有些菜单对于不同权限的操作用户的使用权限是不同的,如系统设置方面的菜单,只有系统管理员才能使用,当普通用户进入系统中时,这些菜单将被设置为无效。
2弹出式菜单弹出式菜单是指在窗体上单击鼠标右键之后弹出的菜单,也称为浮动菜单。
可使用PopupMenu方法显示弹出式菜单。
2.1PopupMenu方法语法:object.PopupMenu menuname, flags, x, y, boldcommand其中,object:可选参数,对象表达式,其值为Form或MDIForm;menuname:必须的参数,指出要显示的弹出式菜单名;flags:可选的参数,为一个数值或常数,用以指定弹出式菜单的位置和行为;x:可选的参数,指定显示弹出式菜单的x坐标;y:可选的参数,指定显示弹出式菜单的y坐标;boldcommand:可选的参数,指定弹出式菜单中的菜单控件的名称,用以显示其黑体正文标题。
VB鼠标按下弹起
VB鼠标按下弹起事件按下执行Command1.Visible = FalseCommand2.Visible = True松开执行Command1.Visible = TrueCommand2.Visible = False求代码~~~按下Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Command1.Visible = FalseCommand2.Visible = TrueEnd Sub松开Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Command1.Visible = TrueCommand2.Visible = FalseEnd Subvb 鼠标离开按钮事件Private Declare Function ReleaseCapture Lib "user32" () As LongPrivate Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As LongDim aa As BooleanPrivate Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)If (X < 0) Or (Y < 0) Or (X > Command1.Width) Or (Y > Command1.Height) ThenReleaseCaptureaa = FalseCommand1.Caption = "移出"ElseIf aa = False ThenSetCapture Command1.hwndCommand1.Caption = "移入"aa = TrueEnd IfEnd IfEnd Sub把123.wav放在同一文件夹中播放声音添加控件WindowsMediaPlayer1Private Sub Command1_Click()WindowsMediaPlayer1.URL = "123.wav"End Sub使用资源文件,可以直接在在EXE文件中播放声音文件(W A V文件),使程序显得更加专业。
VB实现窗口的弹出式菜单
VB实现窗口的弹出式菜单2000-01-30 00:00来源:CPCW作者:责任编辑:·yesky评论(0) 在Windows95、Windows98或NT的风格中,有按动鼠标器右键弹出下拉菜单的操作,在VB执行环境下,有一些控件本身具有弹下拉菜单的功能,如TexTbox控件等,但大多数编辑类控件以及窗体本身却没有此功能,要在窗口中任意位置实现PopUpMenu(弹出式菜单),可借助VB的菜单工具来实现。
首先,打开VB的“工具”菜单条,利用“菜单编辑器”为窗体生成一个菜单:标题(Caption) 菜单条名(Name)编辑menuEdit……复制mnuCopy……剪切munCut其次,将生成的menuEdit菜单设置为不可视。
Private Sub Form_Load()Me.menuEdit.Visibe=False′menuEdit菜单设置为不可视End Sub然后,利用MouseDown事件实现任意位置弹出PopUpMenu,如下例:本例中以RichTexBox控件为例,在其上面实现复制、剪切功能。
1.复制功能的实现。
Private Sub MnuCopy_Click()Clipboar.Clear′将剪贴板清空′将RichTexBox控件上选择上的内容复制到剪贴板Clipboard.SetTextRichTexBox1.SelTextEnd Sub2.剪切功能的实现。
Private Sub MnuCut_Click()Clipboard.Clear ′将剪贴板清空′将RichTextBox控件上选择了的内容复制到剪贴板Clipboard.SetTextRichBox1.SelText′将RichTexBox控件上选择了的内容删除SendKeys″{DELETE}″,TrueEnd Sub3.在RichTexBox控件的MouseDown事件中实现任意位置弹出PopUPMenu。
OPrivate Sub RichTexBox1_MouseDown(Button As Integer,Shift As Integer,x As Single,Y As Single)Dim MnuFile AS Menu ′声明一个菜单类型的变量Set munFile=Me.MenuEdit ′将MenuEdit赋给菜单变量if Button=2 Then ′判断是否按动鼠标器右键′判断RichTexBox控件上选择了的内容是否存在,决定复制、剪切菜单条是否可操作。
VB鼠标的左键拖动控件到窗体的任意位置-文档资料
二级VB程序设计教程
第十章 键盘与鼠标事件过程
Private Sub Text1_KeyPress (KeyAscii As Integer) KeyAscii = Asc(Ucase(Chr(KeyAscii))) End Sub
二级VB程序设计教程
第十章 键盘与鼠标事件过程
第二节 KeyDown和KeyUP事件
二级VB程序设计教程
第十章 键盘与鼠标事件过程
能响应KeyPress事件的控件有:窗体、复选框、组 合框、命令按钮、列表框、图片框、文本框、滚动条及 与文件有关的控件。 要用法如:对输入的信息进行合法性检测,前面讲
过的口令文本框中只允许输入数字字符,输入其它字符
则响呤,并取消输入的字符。又如小写换大写。 例如,如果希望将文本框中的所有字符都强制转换 为大写字符,则可在输入时使用此事件转换大小写:
件。
二级VB程序设计教程
第十章 键盘与鼠标事件过程
在用键盘输入的场合,如在文本框中输入信息, KeyPress 事件常用于判断按了什么键,当在键盘上按键 时将触发该事件。 每按一次键,拥有输入焦点的控件都会发生这个事
件,可以用其检测如输入密码时字符的合法性等。
某一时刻,只有一个控件拥有输入焦点,如果窗体 上没有活动的或可见的控件,则输入焦点位于窗体上。
二级VB程序设计教程
第十章 键盘与鼠标事件过程
1、Keycode 返回的是用户所按键的ASC码;大小写字母用同一 个按键,其ASC码为大写字母的ASC码;单键双字符键 中,返回的是其下档字符的ASC码。另外,大键盘上的
数字键与小键盘上的数字键不同。
如按下“A”、“a”则返回的Keycode均为65(即 &H41)。
Vba实现Excel感知下拉列表
Vba 实现Excel 感知下拉列表Vba 实现Excel 感知下拉列表Excel 可以使用下拉列表来提高输入效率这个是大家比较了解的了,但是人们追求工作效率是永无止境的,正是"没有最懒,只有更懒"。
那么,我们是否可以将下拉列表做成智能感知的效果呢,先看一下如下效果图:这种效果方便于长期对某表格操作的朋友,直接用索引来实现便捷的数据输入,说了这么长时间到底是如何实现的呢,如下:1、建立Excel 下拉菜单(这个大家应该都熟悉,不熟悉的朋友可以百度搜索一下),重要的是需要设置一下,将"数据有效性"的"出错警告"选项卡中的"输入无效数据时显示出错警告"前方的勾选去掉,如下图(不然频繁的警告会让你疯掉 ):2、下面就是Vba 的事情了(如果您对Vba 不是很了解的话,建议您弄本相关的书看一下)。
'首先建立一个全局变量,用于存储是否为代码做出的更改 Public isMe As Boolean1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 '在工作簿如下事件中,输入如下代码,即可实现感知效果Private Sub Workbook_SheetChange(ByVal Sh As Object, _ ByVal Target As Range)If isMe ThenisMe = FalseExit SubEnd IfOn Error GoTo ExitMeDim ArrDim i As IntegerDim IsFind As BooleanIsFind = FalseIf Target.Validation.Type = 3 ThenArr = Split(Target.Validation.Formula1, ",")For i = 0 To UBound(Arr)If InStr(1, Arr(i), Target.Value, vbTextCompare) <> 0 Then isMe = TrueTarget.Value = Arr(i)192021222324252627282930313233IsFind = TrueExit ForEnd IfNextIf Not IsFind ThenMsgBox "数据输入错误!", vbCriticalTarget.SelectEnd IfEnd IfExitMe:End SubPrivate Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _ByVal Target As Range)isMe = FalseEnd Sub怎么样,是不是事半功倍呢,哈哈,如果您想关注更多的智能办公的技巧,请订阅本站。
VB6.0内置的PopupMenu方法
继续执行。
并且,一次只能激活一个弹出式菜单,当已经有一个弹处菜单被激活或已经有一个下拉菜单被打开时,对PopupMenu方法的调用将被忽略。
下面的例子演示当用户在表单上点击鼠标右键时,在鼠标点处显示弹出式菜单。
欲试验此例子,建立一个表单,在表单中建立一个菜单控件,将其命名为mnuFile(mnuFile菜单至少包含一个子菜单)。
在表单的声明(Declaration)区域加入如下代码:
Private Sub Form_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
PopupMenu mnuFile
End If
End Sub
PopupMenu方法是VB6.0内置的方法,使用起来方便简单,但该方法有一个不足,即当点击鼠标弹出菜单后,如果不选择菜单项而在其他位置点击鼠标,则菜单并不会在新的鼠标点处显示。
这虽然不至于影响应用程序的功能,但却降低了易用性。
VB怎么添加菜单栏?VB菜单栏的添加方法
VB怎么添加菜单栏?VB菜单栏的添加⽅法
VB,是⼀个编程软件,全称Visual Basic,使⽤的是Basic语⾔进⾏编程,是多数编程爱好者⽤于编程的软件。
⽤法⼗分简单,极其适合新⼿进⾏编程。
可以实现许多功能,例如,可以⽤VB编⼀个计算器,当然,也可以编企业进销存管理系统……等等,都是利⽤VB来实现的,想要给vb软件添加菜单栏,该怎么添加呢?下⾯我们就来看看详细的教程。
Visual Basic 6.0 精简安装版
类型:编程⼯具
⼤⼩:5.86MB
语⾔:简体中⽂
时间:2014-08-25
查看详情
⼀、顶部菜单模式
1、⾸先打开VB,并且选定“标准 EXE”来新建⼀个⼯程
2、在VB的顶部找到“⼯具”>“菜单编辑器”。
或者,按下键盘上的“Ctrl+E”也⾏
3、点按“菜单编辑器”后,会弹出⼀个如图所⽰的对话框。
在“标题”处填写该菜单的名称,如“⽂件”
4、接下来,在“名称”处填写该菜单在代码编写器中的名称,如“file”
5、在“索引”处填写“0”“1”……等⾃然数(注:索引是⽤来快速识别菜单的,经常应⽤在 Select Case 语句中)
6、【可选】若要启⽤快捷键,请在“快捷键”处选择适合您的菜单的快捷键,例如“Ctrl+E”(仅适⽤于⼆级及以上菜单)
7、【可选】若要使该菜单栏被复选(仅适⽤于⼆级及以上菜单),请选择“复选”;若要使该菜单不可⽤(enable=false)请将“有效”取消
上⼀页12下⼀页阅读全⽂。
用VB简单制作弹出式菜单
图 3第 28 卷第 2 期 2008 年 5 月 承德民族师专学报JournalofChengde Teachers ’C ollegeforNati onali tiesVol.28 No.2 May.2008用 VB 简单制作弹出式菜单胡 晶, 王昊欣, 李春江(承德民族师专 物理系,河北 承德 067000)摘要:作者通过一个例子,对在 VB 中建立弹出式菜单进行了详细说明。
关键词:V B ;弹出式菜单;R ichTextBox 控件 中图分类号:TP 31文献标识码:A 文章编号:1005—1554(2008)02—0015—02弹出式菜单又称为快捷菜单,因为它通常是响应鼠标右 击的动作而弹出,所以,也称为右键菜单,但鼠标右击不是必 须的,左键单击同样也可以显示出弹出式菜单。
要制作弹出 式菜单,也必须使用到菜单编辑器,编辑菜单项和菜单命令 的方法与标准下拉菜单的制作方式完全一样。
只不过,在设 计的过程当中,必须把要成为弹出式菜单的菜单项的“可见” 属性前的复选框清除,使得它的 Visible 属性为 False ;然后, 再在某个事件的处理过程当中,通过 PopupMenu 方法来把这 个菜单项显示出来。
在制作弹出式菜单的菜单项的时候,有 一个必须的要求,那就是这个菜单项必须有子菜单命令,否 则将报错。
PopupMenu 方法的使用格式为:[对象.]PopupMenu 菜单名 [,Flags[,x[,y[,Boldcommand]]]] 其中各参数的作用如下: 对象:是指窗体名。
用来指定在哪个窗体显示弹出式菜 单。
菜单名:是在菜单编辑器中定义的主菜单项名, 不可省 略。
Flags :是一个数值常量,用来指定弹出式菜单的位置或 行为。
其取值分为两组,一组用于指定菜单位置,另一组用于 定义特殊的菜单行为。
见表 1 和表 2 所示。
这两组参数可以收稿日期:2008—01—08作者简介:胡晶(1979—),女,陕西城固人,承德民族师专 物理系助教。
VB菜单和窗体
(1)设计用户界面
(2)菜单设计:根据题意,建立两个菜单标题,分别完 成设置和计算功能。“设置”菜单中含有清除和退出 两个菜单项;“计算”菜单中含有加法、减法、乘法 和除法四个菜单项。
精选2021版课件
11
• Private Sub cheng_Click()
• Label1.Caption = cheng.Caption
引值作为参数传递给Click事件过程。 • Click事件过程根据传进来的索引值判断出选中的是哪一个
菜单项。 • 注意:菜单控件数组中的各个元素在菜单项显示区中必须
是连续的,而且必须是在同一缩进级上。若含有分隔条, 则它也要作为数组元素包含到菜单控件数组中。
精选2021版课件
20
• Private Sub js_Click(Index As Integer)
[对象名.]PopupMenu <菜单>, flags,x,y,boldcommand
• [对象名.]表示要显示弹出式菜单的窗体名称,默认为 当前窗体。
• 参数<菜单>是要显示的弹出式菜单名称。
• 参数flags定义弹出式菜单的位置,可指明位置常数与 行为常数。位置常数和行为常数分别如表10-1-3和表 10-1-4所示。如果要同时指定这两个常数,可用逻辑 运算符or进行组合,如4 or 2。
在菜单中的层次级别。 (2)↑、↓:改变菜单控件在菜单中的位置。 (3)下一个:选中当前菜单控件的下一个菜单控件。 (4)插入:在当前菜单控件的上方加入一个新的菜单控
件。 (5)删除:删除当前选中的菜单控件。
精选2021版课件
10
10.1.3 下拉菜单的设计
【例10-1-1】
设计一个具有算术运算(+、-、×、÷)及清除 功能的菜单。通过键盘输入两个数,利用菜单命令计 算出它们的和、差、积、商,并显示出来。要求每个 菜单命令都有对应的快捷键。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
''控件本身就可以使用,没增加一个ToolstripMenuitem,都类似于一个控件包含自己的名称,可在程序中使用。
End Sub
'方式
ContextMenuStrip1.Show(button,x,y);
’显示带复选框的下拉菜单
Private Sub bTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bTN.Click
cms.Items.Add(tsmi2)
cms.Items.Add(tsmi3)
cms.Items(1).Select()
cms.Show(sender, sender.PointToClient(Windows.Forms.Cursor.Position), ToolStripDropDownDirection.BelowLeft)
cms.Items(2).Select()
End Select
cms.Show(sender, sender.PointToClient(Windows.Forms.Cursor.Position), ToolStripDropDownDirection.BelowLeft)
Case "D"
tsmi2.Checked = True
cms.Items(1).Select()
Case "B"
tsmi3.Che34;
Dim tsmi3 As ToolStripMenuItem = New ToolStripMenuItem()
tsmi3.Text = "Bin"
cms.Items.Add(tsmi1)
cms.Items.Add(tsmi2)
cms.Items.Add(tsmi3)
'Dim t4 As ToolStripComboBox = New ToolStripComboBox
'Dim t5 As ToolStripSeparator = New ToolStripSeparator
’显示下拉菜单
Private Sub bTN_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bTN.Click
Dim cms As ContextMenuStrip = New ContextMenuStrip()
Dim tsmi1 As ToolStripMenuItem = New ToolStripMenuItem()
tsmi1.Text = "Hex"
Dim tsmi2 As ToolStripMenuItem = New ToolStripMenuItem()
'Dim t6 As ToolStripTextBox = New ToolStripTextBox
Select Case btnn.Text
Case "H"
tsmi1.Checked = True
cms.Items(0).Select()
End Sub
''
Public Sub Turn_H_D_B(ByVal sender As System.Object, ByVal btnn As Button)
Dim cms As ContextMenuStrip = New ContextMenuStrip()
Dim tsmi3 As ToolStripMenuItem = New ToolStripMenuItem()
tsmi3.Text = "Bin"
tsmi3.Checked = True
cms.Items.Add(tsmi1)
cms.Items.Add("Hex")
cms.Items.Add("Dec")
cms.Items.Add("Bin")
cms.Show(sender, sender.PointToClient(Windows.Forms.Cursor.Position), ToolStripDropDownDirection.BelowLeft)
tsmi1.Checked = False
Dim tsmi2 As ToolStripMenuItem = New ToolStripMenuItem()
tsmi2.Text = "Dec"
tsmi2.Checked = True
Dim cms As ContextMenuStrip = New ContextMenuStrip()
Dim tsmi1 As ToolStripMenuItem = New ToolStripMenuItem()
tsmi1.Text = "Hex"