ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 32286|回复: 77

[原创]千奇百怪的窗体(五)——窗体菜单(1)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2007-1-29 10:32 | 显示全部楼层 |阅读模式
本帖已被收录到知识树中,索引项:窗体

前几课讲窗体的外形,好像感兴趣的人不多,可能觉得窗体要搞那么漂亮干啥?
其实外表还是很重要的,要不现在咋这么多整容的、变性的呢?窗体也要整容阿,呵呵。
好吧,咱今天就来点实用的东西,谈谈窗体菜单。

相信很多人都知道excel可以自定义菜单栏和工具栏,非常简单,用起来也很爽把.
(还不会的在论坛搜,一大把),你是否也想在窗体里也爽一把呢?这样就可以
打造完全属于自己的界面,不再依靠excel的界面了。
关于菜单的内容很多,估计要好几个课时,咱先从最基本的开始吧。

1、创建菜单CreateMenu
Declare Function CreateMenu Lib "user32" Alias "CreateMenu" ()  As Long
这个api函数简单吧,连参数都没有,就是创建一个空菜单。

2、创建弹出式菜单
Declare Function CreatePopupMenu Lib "user32" () As Long
一样简单,没啥好说的。

3、添加菜单项
Declare Function AppendMenu Lib "user32" Alias "AppendMenuA" (ByVal hmenu
As Long, ByVal wFlags As Long, ByVal wIDNewItem As Long, ByVal lpNewItem
As Any) As Long

注意:这个函数是重点了。
hmenu 菜单句柄,哈,啥都有句柄,就像身份证,看得多了,句柄还真就是那么个东西。
wFlags 菜单常数标志,罗嗦了,有很多,这里就不列了,可以看api手册,砸门用一个
讲一个,一次性讲吃不消,没效果。
MF_STRING 在指定的条目处放置一个字串,就是说菜单项是一个字符串。
MF_POPUP 将一个弹出式菜单置于指定的条目,就是说菜单项是一个弹出式菜单(子菜单).

wIDNewItem 指定菜单条目的新命令ID。如在wFlags参数中指定了MF_POPUP标志,
就应是一个弹出式菜单的句柄,就是菜单项的序号,随便设,1、2、3、4都行。
lpNewItem 如果在wFlags参数中指定了MF_STRING标志,这就代表在菜单中设置的字串,
如设置了MF_BITMAP标志,以后再说。

4、设置窗口菜单
Private Declare Function SetMenu Lib "user32" (ByVal hwnd As Long, ByVal
hmenu As Long) As Long
hwnd 懒得说了
hmenu 窗口的新菜单的句柄

建好了菜单,就把菜单的句柄给窗体,窗体上就有菜单了。

5、删除菜单
Declare Function DestroyMenu Lib "user32" (ByVal hmenu As Long) As Long
当窗体关闭的时候,菜单也就不用了,记得废了它。

好了,这课的内容就到这了,简单吧,回家自己建几个玩完就会了。

如果还想学记得顶啊,看个实例吧:

8thComrN.rar (10.41 KB, 下载次数: 2240)



看完自己下课。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2007-1-29 10:41 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

正好弥补EXCEL窗体没有菜单编辑器的缺陷.

不知道使用这个菜单后,系统是否稳定?还有就是会不会报错?

谢谢楼主!

TA的精华主题

TA的得分主题

发表于 2007-1-29 10:50 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-1-29 11:12 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2007-1-29 13:28 | 显示全部楼层
QUOTE:
以下是引用十二门徒在2007-1-29 10:41:36的发言:

正好弥补EXCEL窗体没有菜单编辑器的缺陷.

不知道使用这个菜单后,系统是否稳定?还有就是会不会报错?

谢谢楼主!

不会这么恐怖吧,一个小菜单还能影响系统?

TA的精华主题

TA的得分主题

发表于 2007-2-11 00:14 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

我顶了,楼主太强了!受益匪浅啊!

TA的精华主题

TA的得分主题

发表于 2007-2-11 11:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
好好天天

[原创]千奇百怪的窗体(五)——窗体菜单(1)

[原创]千奇百怪的窗体(五)——窗体菜单(1)

[原创]千奇百怪的窗体(五)——窗体菜单(1)

[原创]千奇百怪的窗体(五)——窗体菜单(1)

TA的精华主题

TA的得分主题

发表于 2007-2-11 11:16 | 显示全部楼层

我这个习惯潜水的,都要出来感谢楼主,“非常谢谢!!!”

TA的精华主题

TA的得分主题

发表于 2007-2-11 13:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2007-2-12 10:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
谢谢了!这个非常实用,期待楼主再续大作。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-23 22:03 , Processed in 0.045336 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表