开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 19296|回复: 38
收起左侧

[易语言成品模块] 中文强大的API菜单类 全面 动态 完善 易懂 易用 高扩展

[复制链接]
发表于 2020-4-24 15:42:48 | 显示全部楼层 |阅读模式   辽宁省鞍山市
分享例程
界面截图:
备注说明: 中文强大的API菜单类 全面 动态 完善 易懂 易用 高扩展 (托盘菜单需要精易模块的 类_托盘 使用)
本帖最后由 琪诺兔 于 2020-4-24 18:05 编辑

中文强大的API菜单类模块
全面 动态 完善 易懂 易用 高扩展
(托盘菜单需要精易模块的 类_托盘 使用)
【对不起刚刚发错压缩包了这次是模块了】
【注 全局变量的菜单句柄可以在程序的任何部位弹出】
【以下是使用例程】
未标题-1.png
请先创建三个按钮[主菜单][二菜单][三菜单]在窗口里写以下代码
  
窗口程序集名保 留  保 留备 注
窗口程序集_窗口1  演示窗口的程序集
变量名类 型数组备 注
窗口句柄整数型用于存储窗口句柄
菜单Qn菜单本模块的Qn菜单
托盘类_托盘精易模块的 类_托盘
主菜单句柄整数型创建的主菜单句柄
主菜单的子菜单句柄整数型用主菜单句柄创建的子菜单句柄
二菜单句柄整数型创建的二菜单句柄
二菜单的子菜单句柄整数型用二菜单句柄创建的二菜单子菜单句柄
二菜单的子子菜单句柄整数型用二菜单子菜单句柄创建的二菜单的子子菜单句柄
三菜单句柄整数型创建的三菜单句柄
三菜单的子菜单句柄整数型用三菜单句柄创建的三菜单的子菜单句柄
菜单起始ID整数型创建菜单必须的ID变量建议30000开始
消息指针整数型SetWindowLongA方法的指针

子程序名返回值类型公开备 注
_演示窗口_创建完毕  
窗口句柄 = 取窗口句柄 ()  ' 取窗口句柄
消息指针 = SetWindowLongA (窗口句柄, #GWL_WNDPROC, 到整数 (&菜单处理过程))  ' 监控窗口消息
托盘.创建 (窗口句柄, #测试图标, “Qn菜单演示例程”)  ' 用精易模块创建托盘图标
托盘.挂接事件 (&托盘事件)  ' 挂接精易模块创建托盘图标的事件
菜单起始ID = 30000  ' 将菜单起始ID设置为30000
主菜单句柄 = 菜单.创建弹出 ()  ' 创建一个弹出菜单并返回一个句柄
菜单.添加_图片 (主菜单句柄, #测试图标, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个用图片当做背景的菜单并添加事件
菜单.添加 (主菜单句柄, “Qn菜单演示例程”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
主菜单的子菜单句柄 = 菜单.添加 (主菜单句柄, “子菜单演示”, , 0, , )  ' 用刚刚创建的弹出菜单句柄返回一个子菜单句柄
菜单.插入A (主菜单的子菜单句柄, 1, “子菜单带图标演示”, 下一个菜单ID (), , #测试图标, &主菜单单击, &主菜单点燃)  ' 添加一个带图标和文本的子菜单并添加事件
菜单.添加 (主菜单的子菜单句柄, “子菜单演示”, 下一个菜单ID (), 0, &子菜单单击, &子菜单点燃)  ' 添加一个普通的子菜单并添加事件
菜单.添加 (主菜单的子菜单句柄, “子菜单演示”, 下一个菜单ID (), 0, &子菜单单击, &子菜单点燃)  ' 添加一个普通的子菜单并添加事件
菜单.插入A (主菜单句柄, 3, “带图标演示”, 下一个菜单ID (), , #测试图标, &主菜单单击, &主菜单点燃)  ' 添加一个带图标和文本的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示1”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示2”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示3”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示4”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示5”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
菜单.添加 (主菜单句柄, “”, 1, 2048, , )  ' 添加一个分隔符的菜单并添加事件
菜单.添加 (主菜单句柄, “主菜单演示6”, 下一个菜单ID (), 0, &主菜单单击, &主菜单点燃)  ' 添加一个普通的菜单并添加事件
二菜单句柄 = 菜单.创建弹出 ()  ' 在创建一个弹出菜单并返回一个句柄
菜单.添加 (二菜单句柄, “带选中的菜单演示”, 下一个菜单ID (), 8, &带选中的菜单子程序, )  ' 创建一个带选中的菜单演示并添加事件
菜单.添加 (二菜单句柄, “二菜单演示”, 下一个菜单ID (), 0, , )  ' 添加一个普通的菜单并添加事件
菜单.添加 (二菜单句柄, “二菜单演示”, 下一个菜单ID (), 0, , )  ' 添加一个普通的菜单并添加事件
菜单.添加 (二菜单句柄, “”, 1, 2048, , )  ' 添加一个分隔符的菜单并添加事件
菜单.添加 (二菜单句柄, “二菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单句柄, “二菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单句柄, “二菜单演示”, 下一个菜单ID (), 0, , )
二菜单的子菜单句柄 = 菜单.添加 (二菜单句柄, “二菜单演示”, , 0, , )
菜单.添加 (二菜单的子菜单句柄, “子菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单的子菜单句柄, “子菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单的子子菜单句柄, “”, 1, 2048, , )
二菜单的子子菜单句柄 = 菜单.添加 (二菜单的子菜单句柄, “子菜单演示”, , 0, , )
菜单.添加 (二菜单的子子菜单句柄, “子子菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单的子子菜单句柄, “子子菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单的子子菜单句柄, “子子菜单演示”, 下一个菜单ID (), 0, , )
菜单.添加 (二菜单的子子菜单句柄, “子子菜单演示”, 下一个菜单ID (), 0, , )
多重加入 ({ “三菜单演示”, “三菜单演示1”, “三菜单演示2”, “三菜单演示3”, “三菜单演示4”, “三菜单演示5”, “三菜单演示6” })  ' 用循环方式添加菜单并变成子程序
调试输出 (菜单.是否菜单 (主菜单句柄))
子程序名返回值类型公开备 注
多重加入 多重加入菜单
参数名类 型参考可空数组备 注
菜单名组文本型
变量名类 型静态数组备 注
i整数型 
三菜单句柄 = 菜单.创建弹出 ()
计次循环首 (取数组成员数 (菜单名组), i)
菜单.插入A (三菜单句柄, i, 菜单名组 [i], 下一个菜单ID (), 0, , &多重加入子程序, )
计次循环尾 ()
子程序名返回值类型公开备 注
带选中的菜单子程序 带选中的菜单子程序事件
参数名类 型参考可空数组备 注
菜单ID整数型
窗口句柄整数型
变量名类 型静态数组备 注
形态整数型 
形态 = 菜单.取状态 (二菜单句柄, 菜单ID, )
如果真 (形态 = 0)
菜单.选中 (二菜单句柄, 菜单ID, 真, )
调试输出 (“真”)

如果真 (形态 = 8)
菜单.选中 (二菜单句柄, 菜单ID, 假, )
调试输出 (“假”)

子程序名返回值类型公开备 注
多重加入子程序 多重加入菜单的子程序
参数名类 型参考可空数组备 注
菜单ID整数型
窗口句柄整数型
变量名类 型静态数组备 注
索引整数型 
判断 (窗口句柄 = 0)
索引 = 菜单.取索引 (三菜单句柄, 菜单ID) + 1
如果 (窗口句柄 < 8 窗口句柄 > 0)
索引 = 窗口句柄
索引 = 菜单.取索引 (三菜单句柄, 菜单ID) + 1


信息框子程序 (“主句柄”到文本 (三菜单句柄)#换行符“句柄为 ”到文本 (窗口句柄)#换行符“ID为 ”到文本 (菜单ID)#换行符“索引为 ”到文本 (索引)#换行符“标题为 ” + 菜单.取标题 (三菜单句柄, 菜单ID)#换行符“形态 被点击”)
子程序名返回值类型公开备 注
信息框子程序  
参数名类 型参考可空数组备 注
参数文本型
信息框 (参数, #信息图标, “Qn菜单演示例程”, )
子程序名返回值类型公开备 注
_主菜单_被单击 主菜单按钮被点击
菜单.弹出 (主菜单句柄, , , , 窗口句柄)
子程序名返回值类型公开备 注
_菜单二_被单击 菜单二按钮被点击
菜单.弹出 (二菜单句柄, , , , 窗口句柄)
子程序名返回值类型公开备 注
_菜单三_被单击 菜单三按钮被点击
菜单.弹出 (三菜单句柄, , , , 窗口句柄)
子程序名返回值类型公开备 注
菜单处理过程整数型 用于处理菜单过程
参数名类 型参考可空数组备 注
窗口句柄整数型hWnd
消息整数型uMsg
参数1整数型wParam
参数2整数型lParam
变量名类 型静态数组备 注
整数型 
整数型 
判断 (消息 = #WM_COMMAND )  ' 窗口菜单被选择
低 = 位与 (参数1, 65535)
高 = 参数1 \ 65536
如果真 (参数2 = 0 高 = 0)
菜单.处理菜单事件 (窗口句柄, 低, )

如果真 (消息 = #WM_MENUSELECT )  ' 鼠标经过菜单
菜单.处理菜单事件 (窗口句柄, 位与 (参数1, 65535), )


返回 (CallWindowProcA (消息指针, 窗口句柄, 消息, 参数1, 参数2))
子程序名返回值类型公开备 注
托盘事件  
参数名类 型参考可空数组备 注
操作类型整数型
如果真 (操作类型 = #WM_LBUTTONDOWN )
菜单.弹出托盘 (主菜单句柄, , , , 窗口句柄, )  ' 准备弹出托盘菜单

如果真 (操作类型 = #WM_RBUTTONUP )
菜单.弹出托盘 (主菜单句柄, , , , 窗口句柄, )  ' 弹出托盘菜单

子程序名返回值类型公开备 注
子菜单点燃 主菜单的子菜单点燃事件
调试输出 (1)
子程序名返回值类型公开备 注
子菜单单击 主菜单的子菜单单击事件
调试输出 (2)
子程序名返回值类型公开备 注
主菜单点燃 主菜单点燃事件
参数名类 型参考可空数组备 注
菜单ID整数型
窗口句柄整数型
变量名类 型静态数组备 注
索引整数型 
判断 (窗口句柄 = 0)
索引 = 菜单.取索引 (主菜单句柄, 菜单ID) + 1
如果 (窗口句柄 < 8 窗口句柄 > 0)
索引 = 窗口句柄
索引 = 菜单.取索引 (主菜单句柄, 菜单ID) + 1

调试输出 (“句柄为”到文本 (窗口句柄)“ ID为”到文本 (菜单ID)“ 索引为”到文本 (索引)“ 点击”)
子程序名返回值类型公开备 注
主菜单单击 主菜单单击事件
参数名类 型参考可空数组备 注
菜单ID整数型
窗口句柄整数型
变量名类 型静态数组备 注
索引整数型 
判断 (窗口句柄 = 0)
索引 = 菜单.取索引 (主菜单句柄, 菜单ID) + 1
如果 (窗口句柄 < 8 窗口句柄 > 0)
索引 = 窗口句柄
索引 = 菜单.取索引 (主菜单句柄, 菜单ID) + 1

如果真 (索引 = 1)
调试输出 (“一”)

如果真 (索引 = 2)
调试输出 (“二”)

如果真 (索引 = 3)
调试输出 (“三”)

如果真 (索引 = 4)
调试输出 (“四”)

子程序名返回值类型公开备 注
下一个菜单ID整数型 生存下一个菜单ID
菜单起始ID = 菜单起始ID + 1
返回 (菜单起始ID)


i支持库列表   支持库注释   
spec特殊功能支持库
【模块下载 Qn菜单.zip (2.09 MB, 下载次数: 1180)

UAC.zip

861 Bytes, 下载次数: 68, 下载积分: 精币 -2 枚

DGSU)AI54_V$T1G15P7%`2E.png

点评

求配色..   广东省深圳市  发表于 2020-5-21 17:33

评分

参与人数 4好评 +3 精币 +10 收起 理由
被封禁言 + 1 新技能已get√
易语言资源网 + 1 + 5 支持开源~!感谢分享
执此一念 + 1 + 2 感谢发布原创作品,精易因你更精彩!
幻源 + 1 + 2 此处应该有鼓励~

查看全部评分


友情提醒:请选择可信度高的模块,勿用未知模块,防止小人在模块内加入木马程序。【发现问题模块请到站务投诉】。

本帖被以下淘专辑推荐:

签到天数: 18 天

发表于 2024-9-25 10:59:48 | 显示全部楼层   四川省成都市
感谢你的分享
回复 支持 反对

使用道具 举报

结帖率:32% (6/19)

签到天数: 3 天

发表于 2022-5-26 09:55:44 | 显示全部楼层   贵州省黔东南苗族侗族自治州
收藏收藏,学习下!
回复 支持 反对

使用道具 举报

结帖率:32% (6/19)

签到天数: 3 天

发表于 2022-5-11 11:50:55 | 显示全部楼层   贵州省黔东南苗族侗族自治州
一如既往的好!!!
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 10 天

发表于 2022-1-13 16:28:09 | 显示全部楼层   四川省成都市
感谢楼主分享,支持一下~~!!!
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)

签到天数: 21 天

发表于 2021-10-27 16:37:32 | 显示全部楼层   湖南省郴州市
666666666666666666
回复 支持 反对

使用道具 举报

结帖率:88% (7/8)
发表于 2021-9-1 13:01:10 | 显示全部楼层   宁夏回族自治区吴忠市
厉害,膜拜。
回复 支持 反对

使用道具 举报

发表于 2021-8-7 23:51:44 | 显示全部楼层   广东省肇庆市
感谢你的分享
回复 支持 反对

使用道具 举报

发表于 2021-3-14 23:09:33 高大上手机用户 | 显示全部楼层   上海市上海市
谢谢分享!么么么么哒支持开源!谢谢分享!
回复 支持 反对

使用道具 举报

结帖率:0% (0/1)
发表于 2020-6-6 18:16:59 | 显示全部楼层   江苏省苏州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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