没有合适的资源?快使用搜索试试~ 我知道了~
VB 之 精 彩 编 程-创建位图菜单...
需积分: 10 10 下载量 34 浏览量
2009-10-08
02:00:05
上传
评论
收藏 4KB TXT 举报
温馨提示
试读
4页
VB 之 精 彩 编 程-创 建 位 图 菜 单
资源推荐
资源详情
资源评论
创建位图菜单
在通常的程序中菜单总是以文本的方式存在,有时候显得非常单调乏味。如果能够
在菜单中加入位图图形,将会极大地增加用户的使用兴趣。本文介绍了如何使用位
图制作菜单选项。
创建位图菜单
----创建位图菜单其实非常简单,它需要用到Windows应用程序编程接口(API)的
一些菜单函数和位图函数,你需要将这些函数的声明包含在你的应用程序的标准模
块中,具体的内容请参见样例程序。步骤如下:
使用函数GetSubMenu来提取子菜单项的句柄,并通过使用函数CreateCompatibleDC
来创建一个兼容的设备环境描述表;
在一个循环过程中通过使用CreateCompatibleBitmap函数,SelectObject函数以及
BitBlt函数来分别将针对各个菜单项所载入的位图选入到兼容设备环境中;
通过ModifyMenu函数绘制真正的位图菜单选项;
使用DeleteDC函数来释放设备环境,以便其他的程序可以使用它们。
----提取位图可以有多种方法,在本样例程序中在窗体上设置了四个图形框控件,
使用它们载入4个预设的图标来作为菜单选项位图的源文件,当然你也可以使用其
他的方法,例如使用LoadPicture函数来从磁盘装载位图。
样例程序
在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。
创建一个新的模块,采用缺省的方法建立Module1.Bas。
将如下的声明语句和常量添加到Module1.Bas模块中:
Option Explicit
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long,
ByVal nPos As Long) As Long
在通常的程序中菜单总是以文本的方式存在,有时候显得非常单调乏味。如果能够
在菜单中加入位图图形,将会极大地增加用户的使用兴趣。本文介绍了如何使用位
图制作菜单选项。
创建位图菜单
----创建位图菜单其实非常简单,它需要用到Windows应用程序编程接口(API)的
一些菜单函数和位图函数,你需要将这些函数的声明包含在你的应用程序的标准模
块中,具体的内容请参见样例程序。步骤如下:
使用函数GetSubMenu来提取子菜单项的句柄,并通过使用函数CreateCompatibleDC
来创建一个兼容的设备环境描述表;
在一个循环过程中通过使用CreateCompatibleBitmap函数,SelectObject函数以及
BitBlt函数来分别将针对各个菜单项所载入的位图选入到兼容设备环境中;
通过ModifyMenu函数绘制真正的位图菜单选项;
使用DeleteDC函数来释放设备环境,以便其他的程序可以使用它们。
----提取位图可以有多种方法,在本样例程序中在窗体上设置了四个图形框控件,
使用它们载入4个预设的图标来作为菜单选项位图的源文件,当然你也可以使用其
他的方法,例如使用LoadPicture函数来从磁盘装载位图。
样例程序
在Visual Basic中开始一个新的工程,采用缺省的方法建立Form1。
创建一个新的模块,采用缺省的方法建立Module1.Bas。
将如下的声明语句和常量添加到Module1.Bas模块中:
Option Explicit
Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long,
ByVal nPos As Long) As Long
资源评论
求伯乐
- 粉丝: 22
- 资源: 3095
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功