摘要载入中…    请稍等…












内容载入中…    请稍等…

如长时间看不到内容,请关闭浏览器,重新打开此页!

芯友首页 应用软件 编程开发 网络硬件 资源下载 动漫音乐 精美图库 芯友论坛 视频教程 电脑技术QQ群:72845454
 ★★photoshop学友-史上最强播放器★★
 位置:编程开发>VB>VB窗体文章
◎→ 本类最新
VB6制作Win98风格的工具栏
动态加载ActiveX控件漫谈
实现窗口图像缩放、滚动技巧
VB中处理长列表框项的两种方法
VB应用程序中的工具提示和状态显
VB实现窗口的弹出式菜单
VB实现按钮浮动效果
◎→相关资源
C语言入门视频教程
C#编程WinForm入门视频
Asp.net入门视频教程下载
VC++编程视频教程下载
VB窗体文章
HTML入门教程
VB基础视频教程
VB窗体文章
VB文件文章
VB数据库文章
VB-API文章
VB控制文章
◎→ 热门资源
在VB中让控件大小和位置随着表单
c在VB中利用API实现窗体的平滑显
在ListBox适当设定水平滚动条的宽
运行中隐藏 显示窗口标题栏
运行时改变控件大小的两种方法
用VisualBasic制作半透明窗体
用Visual Basic设计三维图形按钮

规范设计Windows应用软件菜单


日期:2008-10-20 17:41:01    来源:互联网
   
 ·XML基本语言规范 ·在程序中调用关闭Windows对话框
 ·自动记录应用软件工作时间 ·在系统菜单上添加自定义菜单项

规范设计Windows应用软件菜单


 在开发软件的菜单界面时,能按Windows所设定的规范进行,不仅能使所开发出的应用软件的菜单界面更美观丰富,而且能与Windows中各软件协调一致,使大量熟悉Windows操作的用户,一看菜单,就能根据平时的使用经验,触类旁通地知晓该应用软件的各功能和简捷的操作方法,增强软件的灵活性和可操作性 


  以下以VB5.0的工具菜单栏(Tools)中的“菜单编辑器”和一个“学生档案管理软件”(主要有“文件”、“系统初始化” 、“年级”、“输入与查询”等菜单,分别完成报表打印、新建年级库、选年级、以及数据库数据的输入与查询等)为例,说明Windows应用软件菜单设计的一些规则: 



一、暂时不可操作的菜单命令项一般要屏蔽变灰 

  Windows菜单中有一些菜单项是以变灰的形式出现的,并用虚线字符来显示,这一类的命令表示当前不可用,也就是说,执行此命令的条件当前还不具备。例如,在学生档案管理软件中,初始的“输入与查询”菜单为灰,因为在没有选中“年级”的情况下,系统将不知要查询哪个年级的学生资料。在图1中设计时,点击“输入与查询”菜单条的“有效(E)”属性,改变其默认的“有效”为“无效”,然后设计在“年级”菜单中各年级的Click事件中传递所选中的年级信息给“输入与查询”模块后改变后者的“有效”属性值,让其可操作: 


  Private Sub mnu98dz_Click() 

   Transfer = "c:\dagl\98dz.mdb" 

  mnuFind.Enabled = True 

  End Sub 



二、正在起作用的菜单命令旁打上选中标记(√) 

  Windows中有一些命令是触发式的,打勾号表明该命令正在起作用,否则表明不起作用,可通过点击,反复切换。例如,在上述所举的学生档案管理软件中,当选择了某一年级时,系统就在对应年级菜单前打上“√”,表明正在操作的是此年级的数据库。要做到这一点,只要把菜单编辑器中相应菜单条的“复选(C)"框选中即可,然后在菜单的驱动事件加入如下语句来切换该属性:mnu98dz.Checked=not mnu98dz.Checked 



三、为命令选项设置访问键(Access key) 

  菜单项中带有下划线的字母,称为该命令的访问键,是为了方便使用键盘的用户而设置的,按Alt键和该字母时即可打开该菜单,增加访问键只要在菜单编辑器的“标题(P)”框中,在要让其成为访问键的字母前加“&”即可,当然,访问键最好不要重复,否则系统只认定第一个有效。 



四、为命令选项增加快捷键(Shortcut Key) 

  某些菜单命令的右边有一组合键,称为该命令的快捷键,可以不打开菜单而直接按快捷键来选择执行此命令。为一个命令项增加一个快捷键,可在菜单编辑器中的“快捷键(S)”列表框中为该命令项分配一个,列表中一个快捷键只能被分配一次,否则系统会拒绝接受。 



五、在要弹出对话框的命令选项后增加省略号(...)提示用户 

  Windows中,如果命令项后面有省略号(...),表明选择此命令将引出一个对话框,从对话框系统要求用户提供更多执行该命令所需的信息,在设计时只要在会引出对话框的菜单项的标题后增加“(...)"提示即可。 



六、用右指向的箭头(→),来指引用户选择此项将引出级联菜单(Cascading Menu) 

  级联菜单即所谓的子菜单,在VB中箭头由系统根据菜单编辑器中设计菜单大纲时所安排的“缩进”度而自动实现的,因此,关键是在设计菜单时合理安排大纲中各菜单项上下级的逻辑关系,在VB中最多可以有四级子菜单。 



七、对相关的命令用分隔条(Separate Bar)进行分组 

  为了让用户迅速地在菜单中找到他要执行的命令项,有必要对菜单中相关的一组命令用分隔条进行分组,如文件菜单中,把有关打印输出的一组命令:“页面设置”、“打印预览”、“打印”等用分隔条醒目地进行分隔。这只要在需要进行分组的命令之间插入一个特殊的命令条,该命令条的“标题”为“-”,而“名称”任意,因为在程序中一般不会引用此命令的名称。 



八、建立动态菜单,提高软件的灵活性 

  动态菜单即运行时会伸缩的菜单,Windows中有许多软件的“文件”菜单中都具有记忆最近操作过的几个文档名的功能,在本文所举例的学生档案管理软件中,因为每年都会有新的学生到校,在形成新的年级时,要在“年级”菜单中动态地增加新的年级名称以供选择和查询,这首先要在设计时生成菜单命令的控件数组(Menu Control Array),在菜单的编辑器中加入一个菜单选项,设其Index属性设置为0,然后可以加入名称相同(在本例中名称为MnuNj),Index值相邻递增的菜单选项(比如加入10个),设计时让它们标题框均为空,留作日后引用填入新年级名,并设这些备用菜单条的“可见”属性为无效,即目前不可见。在有建立和删年级库功能的“系统初始化”菜单驱动事件中引用这个数组名和索引值在“输入与查询”中动态地加进新的年级名选项,并让其可见或不可见(在删除时): 


  Private AddMenu_Click() 

   Counter=counter+1 

   Nj=Nj+1 ’Nj是一个模块级变量,初值为1998 

   MnuNj(counter).Caption= Nj & "年级" 

   MnuNj(counter).Visible=Ture 

  End Sub 


  Windows中许多应用程序的“文件"菜单记住最近使使过的文件名的实际方法与此类似。 



九、生成弹出式菜单,增强软件的可操作性 

  有时为了方便用户需要,为一些最常用的命令建立右键弹出式快捷菜单,这种菜单的前期设计和普通菜单一样,不同的是一般要先点击“可见(P)”框,让此菜单不可见,然后在窗体的MouseDown或MouseUp事件中引用PopupMenu方法来实现在窗体上按下鼠标右键时弹出此菜单: 


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

   If button=2 the ’MnuEdit为制作的要弹出的菜单 

Popupmenu MnuEdit 

  End Sub 


  PopupMenu方法将忽略初始设置的“不可见”属性。 


  使用Windows下的其他软件开发工具设计菜单时,情形与之类似。 
 [1]

ASP编码规范

VB5.0与Windows API 间的呼叫技巧

在VB应用软件中实现动画效果

在菜单中加入图标

--->Azureus for Windows V2.4.0.0
--->Windows Media Player on Firefox V1.0┊享受FireFox上的WMP表现┊英文免费版
--->LimeWire Basic for Windows V4.9.39
--->Opera For Windows 9.20 Build 8776Final┊极为出色的多页面的浏览器┊多国语言绿色免费版
--->IE V6.0.2900.2180┊ IE是微软WindowsXP中的意向核心技术┊简体中文绿色免费版
Tags:  规范 Windows 应用软件 菜单

芯友网版权所有 1999-2006 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 联系我们