问一个弱智问题,怎么在菜单上加图标呀?在线等.........

lemon520 2003-11-09 02:43:57
rt
...全文
33 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xueyi0008 2003-11-09
  • 打赏
  • 举报
回复
你搜索一下就可以啦!
nofound007 2003-11-09
  • 打赏
  • 举报
回复
楼上说的有道理!
mylzw 2003-11-09
  • 打赏
  • 举报
回复
下面的这段代码将Picture1的图形作为菜单项。
首先建立一个模块,并加入下面的语句。
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
Declare Function GetMenuItemID Lib "user32" _
(ByVal hMenu As Long, ByVal nPos As Long) As Long
Declare Function SetMenuItemBitmaps Lib "user32" _
(ByVal hMenu As Long, ByVal nPosition As Long, _
ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, _
ByVal hBitmapChecked As Long) As Long

Public Const MF_BITMAP = &H4&

Type MENUITEMINFO
cbSize As Long
fMask As Long
fType As Long
fState As Long
wID As Long
hSubMenu As Long
hbmpChecked As Long
hbmpUnchecked As Long
dwItemData As Long
dwTypeData As String
cch As Long
End Type

Declare Function GetMenuItemCount Lib "user32" _
(ByVal hMenu As Long) As Long
Declare Function GetMenuItemInfo Lib "user32" _
Alias "GetMenuItemInfoA" (ByVal hMenu As Long, _
ByVal un As Long, ByVal b As Boolean, _
lpMenuItemInfo As MENUITEMINFO) As Boolean

Public Const MIIM_ID = &H2
Public Const MIIM_TYPE = &H10
Public Const MFT_STRING = &H0&
将下面的代码加入一个按钮的Click事件:
Private Sub Command1_Click()

' 获得你的菜单的句柄
hMenu& = GetMenu(Form1.hwnd)

' 获得第一个子菜单的句柄
hSubMenu& = GetSubMenu(hMenu&, 0)

' 获得第一个菜单项
hID& = GetMenuItemID(hSubMenu&, 0)

'加入位图

SetMenuItemBitmaps hMenu&, hID&, MF_BITMAP, _
Picture1.Picture, _
Picture1.Picture
End Sub
上面的代码使菜单项为图片,如果你只希望菜单项的左边有一个小位图,而右边仍为文字。可以先在Picture1绘制图片,在利用Picture1.Print加上文字,然后用Picture1.Picture加入菜单项。
astroboy 2003-11-09
  • 打赏
  • 举报
回复
找个可以加的控件吧!
声明:IMETool 为免费软件,非商业使用无须授权,但不得对软件本身做任何修改。允许个人开发的免费输入法软件将其加入安装包使用,但安装包内不得包含有广告插件或流氓软件。 IME TOOL 支持中英文界面,适用于 Win98/ME/2000/XP/2003 操作系统,部分兼容 Windows 7。 主要功能: 一、动态调整输入法顺序而无须重启。 二、切换输入法指示器和高级文字服务方式。 三、任意设置输入法热键 Windows 本身的输入法热键设置功能限制很多,2000/XP 下更是如此,你不得不设置 ctrl+shift+3 这样的三键热键。IME Tool 让你可以自由地设置各种热键,基本键(ctrl、alt、shift)共有六种组合,辅助键有 91 个可选,如用左 Alt+左 Window 键激活龙文五笔,shift+down 激活紫光拼音。当然,有些热键组合是不能用的,如 shift+数字字母键。 四、注册表错误项目修正 1、自动删除输入法列表中不存在的输入法项目,位置: HKEY_CURRENT_USER\Keyboard Layout\preload 2、检查注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts 下的内容,如果某分支对应的输入法文件不存在,则删除此分支(需要管理员权限)。 3、自动删除输入法从列表中删除后可能遗留的激活热键设置,位置: HKEY_CURRENT_USER\Control Panel\Input Method\Hot Keys 五、输入法键盘定义功能,适用于非英文键盘(需要管理员权限)。 六、安装删除输入法 IME TOOL 可以安装标准格式的输入法。自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭输入法状态条等。支持命令行参数,支持运行脚本。 另外修正了老版本存在的一些小 bug。 局限: 1、在 Win9x 下设置的输入法热键不能立即生效,必须重启。在 Win95/NT 系统下有更多的功能限制。 注意: 1、用 IME Tool 设置的一些热键在 Windows 本身的输入法设置中会无法正确显示,但不影响使用。 2、繁体、韩文、日文系统下的打开关闭输入法等切换键设置在注册表中的位置不同,因条件所限我没有做进一步测试功能是否有效。 3、在 IME Tool 中刚添加的输入法不能立即设置属性。 4、如果使用输入法指示器方式时,在系统目录下未发现 internat.exe 和 indicdll.dll 文件,将会自动复制当前目录下的此二文件过去(如果存在)。 命令行参数说明: /? /h /help 显示此帮助 /on 启用 internat.exe 或 ctfmon.exe /off 禁用 internat.exe 或 ctfmon.exe /internat 输入法指示器风格 /ctfmon 高级文字服务风格 /status: : 关闭输入法状态条,: 显示输入法状态条 /caps 用 Caps 键关闭大写 /shift 用 Shift 键关闭大写 /switch: : 不使用切换语言和切换键盘布局热键 : 仅使用切换语言热键 : 仅使用切换键盘布局热键 : 同时使用切换语言和切换键盘布局热键 : 切换语言热键使用Ctrl+Shift : 切换键盘布局热键使用Ctrl+Shift /hotkey:,[hotkey] 指定输入法热键 ,指定第1、2、3.. 个输入法的热键 指定打开/关闭输入法的热键 指定全角/半角切换的热键 指定中英文标点切换的热键 如果留空则删除热键 [hotkey] 热键值,如:ctrl+space /add1:,[hotkey] 按名称添加输入法到列表 /add2:,[hotkey] 按文件名添加输入法到列表 /add3:,[hotkey] 按 ID 添加输入法到列表 /del1: 按顺序从列表中删除输入法 /del2: 按名称从列表中删除输入法 /del3:

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧