工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 开发工具 > 开发专栏 > VB > 正文
用VB打造“超酷”个性化菜单
[文章信息]
作者:goodname008
时间:2004-06-10
出处:论坛
责任编辑:方舟
[文章导读]
在这篇文章里,我们就来好好地研究研究用VB怎么制作Office XP风格的菜单
advertisement
热点推荐
· 真没想到VB也可以这样用之指针技术
· 禁止QQ登录的方法
· 给你的XML文件做个数字签名
· ImageReady制作“焰火”小动画
· Java加密和数字签名编程快速入门
[正文]

1 2 3  下一页

  众所周知,MS Office 2003推出已经有一段时间了,但我们依然不会忘记Office XP刚刚推出时其令人耳目一新的菜单给我们留下的深刻印象。突起的悬浮式图标,不同寻常的菜单项填充方式,不仅让办公一族们赞不绝口,更让广大的程序员和编程爱好者对这种风格的菜单的制作产生了浓厚的兴趣。所以,在这篇文章里,我们就来好好地研究研究用VB怎么制作这种风格的菜单,在文章的最后,我将给出源代码的下载地址。事实上,在了解其原理以后,不论是用VB、VC还是Delphi,都能够制作出XP风格的菜单。不仅如此,我们还可以制作出更加充满个性的另类风格的菜单,比如3D立体风格、渐变风格、多彩风格等等。只有想不到的,没有做不到的。Follow me!

  现在,我想有必要说一说我们现在要做的事情。事实上,我们只要做一个菜单类就行了。但谁都会明白,只做一个菜单类是不够的,我们需要一个程序,或者更详细的说,是一个窗体,来测试我们的菜单类。在我个人的开发过程中,我是先写的菜单类,后写的测试窗体,但为了让大家先领略一下写好的菜单类在应用时是多么的方便,所以让我们先来看看测试窗体:

  (1)打开VB,新建“标准EXE”工程。

  (2)--下面是窗体的控件:

组件名称 属性
Form Name frmMain
Caption 菜单例子
Frame Name fraStyle
Caption 菜单风格
Label Name lblHelp
Caption 在窗体空白处单击鼠标右键
OptionButton Name opnStyle
Caption Window 标准
Index 0
OptionButton Name opnStyle
Caption XP 风格
Index 1
OptionButton Name opnStyle
Caption 3D 立体风格
Index 2
OptionButton Name opnStyle
Caption 渐变风格
Index 3
OptionButton Name opnStyle
Caption 多彩风格
Index 4

  其实就是在窗体上添加了一个Frame,然后在Frame里添加OptionButton控件数组,用来设置菜单风格,还有一个Label,上面只显示一行提示文字,非常简单。

  (3)窗体代码:

Option Explicit

Private Declare Function GetCursorPos Lib "user32.dll" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
 X As Long
 Y As Long
End Type

Dim menu As cMenu

Private Sub Form_Load()

 ' 初始化菜单并添加菜单项

 Set menu = New cMenu
 menu.CreateMenu
 menu.AddItem "open", LoadPicture("images\open.ico"), "打开", MIT_STRING
 menu.AddItem "save", LoadPicture("images\save.ico"), "保存", MIT_STRING
 menu.AddItem "print", LoadPicture("images\print.ico"), "打印", MIT_STRING
 menu.AddItem "find", LoadPicture("images\find.ico"), "查找", MIT_STRING
 menu.AddItem "sep1", LoadPicture(), "", MIT_SEPARATOR
 menu.AddItem "undo", LoadPicture("images\undo.ico"), "撤消", MIT_STRING
 menu.AddItem "redo", LoadPicture("images\redo.ico"), "重复", MIT_STRING
 menu.AddItem "sep2", LoadPicture(), "", MIT_SEPARATOR
 menu.AddItem "cut", LoadPicture("images\cut.ico"), "剪切", MIT_STRING
 menu.AddItem "copy", LoadPicture("images\copy.ico"), "复制", MIT_STRING
 menu.AddItem "paste", LoadPicture("images\paste.ico"), "粘贴", MIT_STRING
 menu.AddItem "sep3", LoadPicture(), "", MIT_SEPARATOR
 menu.AddItem "check", LoadPicture("images\check.ico"), "一个 CheckBox", MIT_CHECKBOX
 menu.AddItem "exit", LoadPicture("images\exit.ico"), "退出", MIT_STRING

End Sub

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

 ' 单击鼠标右建弹出菜单
 If Button = vbRightButton Then
  Dim pos As POINTAPI
  GetCursorPos pos
  menu.PopupMenu pos.X, pos.Y, POPUP_LEFTALIGN Or POPUP_TOPALIGN
 End If

End Sub

Private Sub Form_Unload(Cancel As Integer)
 ' 释放资源, 卸载窗体
 Set menu = Nothing
 Dim frm As Form
 For Each frm In Forms
  Unload frm
 Next
End Sub

Private Sub opnStyle_Click(Index As Integer)

 ' 设置菜单风格

 Select Case Index
  Case 0 ' Windows 标准
   menu.Style = STYLE_WINDOWS
  Case 1 ' XP 风格
   menu.Style = STYLE_XP
  Case 2 ' 3D 立体风格
   menu.Style = STYLE_3D
  Case 3 ' 渐变风格
   menu.Style = STYLE_SHADE
  Case 4 ' 多彩风格
   menu.Style = STYLE_COLORFUL
 End Select

End Sub

  代码中创建了一个cMenu类的对象,我们的编程重点将会放在cMenu类上,上面的代码只是简单地调用cMenu。在后面的文章中,我们会看到其实cMenu有多达30个方法和属性供我们调用,它的Style属性只提供了5种内置风格,在实际应用中,我们可以利用cMenu类提供的方法和属性制作出各种各样风格的菜单,为自己的程序锦上添花。

  (4)运行结果:


        图1


         图2


         图3


         图4


         图5


1 2 3  下一页

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • 用VB设计个“出题”老师
  • 用VB设计可以显示农历的日历
  • VB+MapX编程实现地图数据查询
  • 用VB6.0实现点对点通讯
  • 用VB6.0编写客户端自动升级程序
  • 民营家电商排队造手机 设备商全面杀入
  • 英特尔澄清杨旭任职传闻 官方没宣布此消息
  • 国资委河北密制联通拆分方案
  • 垃圾邮件害人害企害国 清除垃圾邮件不手软
  • 中兴携手阿尔卡特 全球逐鹿CDMA
  • 用友总裁王文京:誓将ERP变成“大众消费”
  • 香港消费者委员会:数码相机最贵未必最好
  • 外电称中兴正评估西门子手机业务 或能并购
  • Advertisement

    天极无线


    奇妙科幻|美好风光|清风车影|漫画卡通|星座生肖|明星写真|动物世界
    老鼠爱大米
    挥着翅膀的女孩
    女人味
    栀子花开
    白月光
    刚刚好
    江南
    快乐崇拜
    亲爱的你怎么不在我身边
    小薇
    2002年的第一场雪
    有多少爱可以重来
    我的地盘
    七里香
    情人
     
    老鼠爱大米 老板电话
    冲动的惩罚 七里香
    我不是黄蓉 女生撒娇
    盛夏的果实 坚持到底
    孤单北半球 眉飞色舞
    挪威的森林 可爱女人
    最浪漫的事 老板电话

    CSEEK搜索