开源
功能说明:该程序是一个基于易语言开发的Windows桌面应用程序,主要功能是在主窗口(启动窗口)上实现自定义的右键弹出式菜单,并对菜单项的选择事件进行捕获与响应。程序通过调用Windows API(如CreatePopupMenu、AppendMenuA、TrackPopupMenu、SetWindowLongA、GetWindowLongA等)接管窗口的消息处理流程,将默认窗口过程替换为自定义子程序“子程序”,从而拦截WM_COMMAND(消息ID=273)等关键消息。当用户在窗口区域右键单击时,程序动态创建含8个菜单项(“菜单1”至“菜单8”)的弹出式菜单,并将其显示在鼠标当前位置;菜单项ID被统一设定为50001~50008(以50000为基值),便于后续识别。当用户点击某菜单项时,程序解析wParam参数提取实际菜单ID,若ID大于50000,则通过取条目字串(GetMenuItemInfo/GetMenuString模拟逻辑)获取对应菜单文本,并将结果显示在标签1中(格式为“你选择了:XXX”)。此外,程序还通过监听WM_ACTIVATE(消息ID=6,此处变量1=71和16对应WA_ACTIVE/WA_INACTIVE)维护一个全局标志位“标志”,用于辅助状态管理(虽本例中未影响核心菜单逻辑,但体现窗口激活状态感知能力)。值得注意的是,程序未使用易语言内置菜单组件,而是完全通过API手动构建、显示和响应弹出菜单,具备高度定制性与底层控制能力,适用于需要脱离标准菜单体系、实现轻量级上下文菜单的工具类软件场景。
======窗口程序集1
| |
| |------ __启动窗口_创建完毕
| |
| |------ 子程序
| |
| |------ __启动窗口_鼠标右键被按下
| |
| |------ _菜单1_被选择
| |
| |------ _菜单2_被选择
| |
| |------ _菜单3_被选择
| |
| |
======调用的Dll
| |
| |---[dll]------ 设置信息
| |
| |---[dll]------ 取窗口信息
| |
| |---[dll]------ 重画菜单
| |
| |---[dll]------ 将消息传答窗口函数
| |
| |---[dll]------ 添加菜单项
| |
| |---[dll]------ 创建弹出式菜单
| |
| |---[dll]------ 显示位置
| |
| |---[dll]------ 取子菜单句柄
| |
| |---[dll]------ 取条目字串
| |
| |---[dll]------ DLL命令1
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。