中华网通行证
用户名 密码

VB打造超酷个性化菜单(一)(1)
中华网科技 http://tech.china.com 2005-06-30 13:56:01
进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口

  VB打造超酷个性化菜单(一)

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

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

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

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

 


组件名称

属性

Form

Name

Caption

frmMain

菜单例子

Frame

Name

Caption

fraStyle

菜单风格

Label

Name

Caption

lblHelp

在窗体空白处单击鼠标右键

OptionButton

Name

Caption

Index

opnStyle

Window 标准

0

OptionButton

Name

Caption

Index

opnStyle

XP 风格

1

OptionButton

Name

Caption

Index

opnStyle

3D 立体风格

2

OptionButton

Name

Caption

Index

opnStyle

渐变风格

3

OptionButton

Name

Caption

Index

opnStyle

多彩风格

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("imagesopen.ico"), "打开", MIT_STRING

menu.AddItem "save", LoadPicture("imagessave.ico"), "保存", MIT_STRING

menu.AddItem "print", LoadPicture("imagesprint.ico"), "打印", MIT_STRING

menu.AddItem "find", LoadPicture("imagesfind.ico"), "查找", MIT_STRING

menu.AddItem "sep1", LoadPicture(), "", MIT_SEPARATOR

menu.AddItem "undo", LoadPicture("imagesundo.ico"), "撤消", MIT_STRING

menu.AddItem "redo", LoadPicture("imagesredo.ico"), "重复", MIT_STRING

menu.AddItem "sep2", LoadPicture(), "", MIT_SEPARATOR

menu.AddItem "cut", LoadPicture("imagescut.ico"), "剪切", MIT_STRING

menu.AddItem "copy", LoadPicture("imagescopy.ico"), "复制", MIT_STRING

menu.AddItem "paste", LoadPicture("imagespaste.ico"), "粘贴", MIT_STRING

menu.AddItem "sep3", LoadPicture(), "", MIT_SEPARATOR

menu.AddItem "check", LoadPicture("imagescheck.ico"), "一个 CheckBox", MIT_CHECKBOX

menu.AddItem "exit", LoadPicture("imagesexit.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

首页 上页 | 1 | 2 | 下页 尾页  共 2

 

50款最具性价比数码相机/MP3推荐!
作者:csdn/goodname008 来源: 

发表言论:
笔  名:
查看评论
﹣相关报道
VB程序实现WindowsXP效果的界面!! (2005-06-27 14:03:26)
用VB6.0编写自我升级的程序(三) (2005-06-23 11:49:00)
用VB6.0编写自我升级的程序(二) (2005-06-22 11:53:08)
用VB6.0编写自我升级的程序(一) (2005-06-20 13:57:07)
利用VB进行SQL2000的数据备份和恢复 (2005-06-16 13:31:53)
初学者必知:VB10个小编程 (2005-05-30 16:19:35)

﹣精彩回顾
·揭秘越南姑娘的“性契约”(组图)
·中国研制成功银河麒麟操作系统
·近处偷拍野狮性爱 野草丛中见柔情(图)
·难得一见“水下分娩”全程跟拍(组图)
·古代性器具及性惩罚工具(组图)
·揭密中外历史上乱伦的名人们(组图)
·探秘世界各地诡异的干尸新娘(组图)
·隋唐两个王朝的九大著名"绿帽子"(组图)
·另类的惨烈:螳螂血战壁虎谁更凶猛(图)
·一分钟平静死去 注射死刑全过程(图)

进入BBS】【进入聊天室】【 推荐给朋友 】【浏览字号: 】【关闭窗口


潮流·时尚
·市场上的天价手机全搜罗
·一周降幅最大手机导购
·FM调频收音功能手机选购
·索尼爱立信三新机曝光
·诺基亚N73音乐版精品赏
·热门便携笔记本搜索导购
·近期最新上市机型大盘点
·矩阵Matrix鼠标垫细评测
·19寸20寸22寸液晶该买谁
·近期几款热卖MP3大推荐
·四大即将退市经典MP3选购
·06年最火七大DC缺点曝光
·六百万像素超值机型推荐
·诺基亚推出随身小音箱
·LG直板巧克力KG99评测
·MOTO新机即将国内上市
·超低价蓝牙手机导购
·130万像素一样拍出好照片
·诺基亚两款蓝牙耳机新品
·索爱纯美折叠机Z558评测

软件下载
·豪杰大眼睛 V2.5
·Foxmail V6.5
·天网防火墙Athena
·极品五笔 V6.8
·PPS网络电视
·超级兔子魔法设置
中华网搜索
站内搜索
全网搜索




热门搜索
耳机 印刷 手机 拖鞋
减速机 钟表 成人用品
减肥 枸杞 T恤 升降机
心理 健康 彩票 招聘
礼品 旅游 猎头 培训

产品服务
·机会!机会不容错过
·中华商机,搜索创新
·准确快捷,搜你所搜
·¥来¥往,尽在中华邮
·中华搜索,贴心搜索




科技频道主编信箱