PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 1932|回复: 2

VB入门教程-第六章 菜单

[复制链接]
发表于 2006-4-23 22:51:00 | 显示全部楼层 |阅读模式

 我们经常在Windows操作里遇到各种各样的菜单,菜单的操作把各种命令结构化、分分类化,也节省了命令所占的空间,从作用上来讲,菜单类似于按钮,但它只有一个事件――Click。

  VB作为Windows下的可视编程工具,菜单的设计当然很容易实现,VB3.0按下Ctrl+M,VB4.0以上的版本请按下Ctrl+E,便可呼叫出菜设计的窗口,无论VB的版本,这个窗口的样式是大同小异的,请见图5-1。

  前面说过,菜单相当于简单的按钮,它有几个属性,其中的大部分我们都曾经见过,包括Name、Caption、Index、Checked、Enabled、Visible、快捷键和热键等等。其中Name是必须的。下面请跟我一起设计第一个菜单。

  首先在Caption添入“文件”,Name为“mnuFile”,按下Next按钮,这样就建立了第一级菜单,注意菜单设计窗口的左中有四个箭头,按下向右的箭头,出现了一排小点,如图5-2,在VB里这叫缩排,这样就可以开始建立第二级菜单。

小知识:实际上我们在生活就中经常用到缩排,写文章时开头要空两格就是一种缩排,在编写程序时更需要缩排,这样使程序结构化,便于观察,当然菜单设计里的缩排有更多的用处。

接着填写下一菜单项,Caption为“新文件”,Name为“mnuFileNew”,按下Next键。

小知识:VB一共如许建立6级子菜单,如图5-3,尽量不要建立这样的菜单,要知道藏在越深处的菜单项越难以被人发现,一个友好的程序界面应该让用户马上找到需要的命令。

接着重复以上步骤,创建以下三个菜单项:

Caption 保存

Name mnuFileSave

Level 1

Caption 另存为

Name mnuFileSaveAs

Level 1

Caption 载入

Name mnuFileLoad

Level 1

  我们在菜单里还经常看到把不同项分开的分隔条,在VB里也很容易做到,把Caption设为“-”(减号),Name为mnuBar1。最后增加这个菜单条的最后一项,Caption为“退出”,Name为mnuFileExit。现在可以退出菜单设计窗口,菜单如图5-4。

  怎么样,经过几章的学习,是不是觉得Windows世界也不是那么神秘?也对,也不对。的确,我们很轻易的实现了这么多的功能,但如果你仔细想想,我们的程序还什么也不会做呢!可以说是徒有其表,要实现强大的功能,恐怕要学很长很长时间,而现在仅仅是个开头,并不是想入非非的时候,我们还要继续努力!

  现在再次按下Ctrl+E,重回菜单设计窗口,接着添加菜单。(按下向左的箭头,可以使菜单上升一级,Level代表菜单的级别),根据下表添加新的菜单项:

Caption 编辑

Name mnuEdit

Level 0

Caption 剪切

Name mnuEditCut

Level 1

Short-Cut Ctrl+X

Caption 复制

Name mnuEditCopy

Level 1

Short-Cut Ctrl+C

Caption 粘贴

Name mnuEditPaste

Level 1

Short-Cut Ctrl+V

Caption 关于

Name mnuAbout

Level 0

 

  其中Short-Cut就是平常我们说的热键,你可以在菜单设计窗口中找到,设置一个你需要的组合键,这样不论窗口的焦点处于何处,菜单在第几层,只要按下热键,就相当于调用了该项的Click事件。结果如图5-5。

  从Win95以来程序里引入了鼠标右键功能,使鼠标有了更大的用处,在VB里我们也很容易实现。

  打开Form_MouseDown事件,该事件有两个参数:Button,当按下左键时Button返回1,当按下右键时Button返回2,;Shift,是指在点击鼠标时按下的键盘键,如Shift、Ctrl、Alt,这些我们将在以后讨论,但很难避免在一章中不涉及到不该涉及的内容,学习时有个大概的理解即可。下面在该事件里添加代码(效果如图5-6):

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = 2 Then

PopupMenu mnuEdit, vbPopupMenuLeftAlign

Else

Exit Sub

End If

End Sub

在上面的代码中我们用到了PopupMenu方法,它的语法是:

object.PopupMenu 菜单名,标记,X坐标,Y坐标

标记是用来表明弹出菜单位于鼠标指针位置的,它有三个值:

vbPopupMenuLeftAlign

位于鼠标左

vbPopupMenuRightAlign

位于鼠标右

VbPopupMenuCenterAlign

位于鼠标中部

 

X、Y值可以用来制定菜单弹出的位置,可以省略。

关于菜单的Visible、Enabled等属性请自己尝试。

回复

使用道具 举报

发表于 2006-5-30 15:34:00 | 显示全部楼层
谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2007-5-16 20:27:00 | 显示全部楼层
学习中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-4-28 17:34 , Processed in 0.054156 second(s), 24 queries .

快速回复 返回顶部 返回列表