类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → 右键菜单类。
类型名必须写完整「右键菜单类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「右键菜单类」。
- D2D 自绘;绑定组件/主窗口后右键弹出;点击后自动关闭。
- 多个菜单请声明多个变量分别绑定。
快速开始
右键菜单类 m
m.添加项("复制")
m.添加项("粘贴")
m.绑定(编辑框1)
右键菜单类/创建
共 1 条。
创建右键菜单
- 签名:
通用 创建右键菜单() - 说明:显式创建一个右键菜单(一般直接写「右键菜单类 m」即可,声明时自动创建)。
右键菜单类/方法
共 27 条。
绑定
- 签名:
无 绑定(组件名 目标名, ...) - 说明:绑定到组件名或「主窗口」。直接写设计器中的组件名,无需引号;多目标写 绑定(按钮1, 列表框1);在绑定目标上单击右键弹出菜单。
- 参数一│组件名 目标名: 如 编辑框1 或 主窗口。
- 参数二│…: 更多目标(可选)。
添加项
- 签名:
整数 添加项(文本 名称, [字节集 图标], [文本 快捷键], [逻辑 禁用], [逻辑 显示]) - 说明:在根菜单末尾添加一项,返回【菜单项】整数 ID(供 添加子菜单 / 点击事件;从 1 起)。 注意:这不是菜单对象本身的 ID。多个右键菜单请声明多个「右键菜单类」变量分别绑定。 图标:资源或文件字节集,如 到字节集(“:/img/menu1.png”); 快捷键:如 “Ctrl+S”(与菜单栏/工具栏相同格式,全局按键可触发该项点击回调); 禁用/显示:真/假,默认 假/真。返回 0 表示失败(菜单未创建成功)。
- 参数一│文本 名称: 菜单项文字。
- 参数二│[字节集 图标]: 可选,16~24px 图标。
- 参数三│[文本 快捷键]: 可选,显示在右侧。
- 参数四│[逻辑 禁用=false]: 真=灰显不可点。
- 参数五│[逻辑 显示=true]: 假=隐藏。
添加分割线
- 签名:
整数 添加分割线() - 说明:在根菜单末尾添加一条分隔线,返回句柄。
插入项
- 签名:
整数 插入项(整数 位置, 文本 名称, [字节集 图标], [文本 快捷键], [逻辑 禁用], [逻辑 显示], [整数 父ID=0]) - 说明:在指定位置插入菜单项(0 起,同级序号),返回句柄。 位置超出同级项数时追加到末尾;父ID=0 表示根级。
- 参数一│整数 位置: 同级插入位置(0 起)。
- 参数二│文本 名称: 菜单项文字。
- 参数三│[字节集 图标]: 可选图标。
- 参数四│[文本 快捷键]: 可选快捷键。
- 参数五│[逻辑 禁用=false]: 真=灰显。
- 参数六│[逻辑 显示=true]: 假=隐藏。
- 参数七│[整数 父ID=0]: 父项句柄,0=根级。
插入分割线
- 签名:
整数 插入分割线(整数 位置, [整数 父ID=0]) - 说明:在指定位置插入分隔线(0 起,同级序号),返回句柄。
- 参数一│整数 位置: 同级插入位置(0 起)。
- 参数二│[整数 父ID=0]: 父项句柄,0=根级。
添加子菜单
- 签名:
整数 添加子菜单(整数 父ID, 文本 名称, [字节集 图标], [文本 快捷键], [逻辑 禁用], [逻辑 显示]) - 说明:在指定父菜单项下添加子项,返回新【菜单项】ID。 正确顺序:先 添加项(“文件”) 得到父ID,再 添加子菜单(父ID, “打开”)。 图标:资源或文件字节集;快捷键:如 “Ctrl+S”;禁用/显示默认 假/真。
- 参数一│整数 父ID: 父项句柄(添加项 返回值,须 > 0)。
- 参数二│文本 名称: 子菜单文字。
- 参数三│[字节集 图标]: 可选,16~24px 图标。
- 参数四│[文本 快捷键]: 可选,显示在右侧。
- 参数五│[逻辑 禁用=false]: 真=灰显不可点。
- 参数六│[逻辑 显示=true]: 假=隐藏。
清空
- 签名:
无 清空() - 说明:清空所有菜单项与点击回调。
解绑
- 签名:
无 解绑() - 说明:清除全部绑定目标;之后右键不再自动弹出。
显示
- 签名:
无 显示([整数 x], [整数 y]) - 说明:在窗口内自绘弹出菜单。不传坐标时在当前鼠标位置;传入 x、y 时在指定客户区坐标弹出。托盘/任务栏场景请用「系统显示」。
- 参数一│[整数 x]: 客户区 X。
- 参数二│[整数 y]: 客户区 Y。
系统显示
- 签名:
无 系统显示() - 说明:用 Windows 原生弹出菜单在屏幕光标处显示(可浮在任务栏/托盘旁)。仅支持扁平项与分割线,不含子菜单与自定义配色。
隐藏
- 签名:
无 隐藏() - 说明:立即关闭菜单。
置禁用
- 签名:
无 置禁用(整数 菜单ID, 逻辑 禁用) - 说明:设置指定菜单项是否灰显不可点。
- 参数一│整数 菜单ID: 添加项/添加子菜单 返回的句柄。
- 参数二│逻辑 禁用: 真=禁用,假=可用。
置显示
- 签名:
无 置显示(整数 菜单ID, 逻辑 显示) - 说明:设置指定菜单项是否可见(假=隐藏该项)。
- 参数一│整数 菜单ID: 添加项/添加子菜单 返回的句柄。
- 参数二│逻辑 显示: 真=显示,假=隐藏。
删除项
- 签名:
无 删除项(整数 菜单ID) - 说明:删除指定菜单项及其全部子项,并清除对应点击回调。
- 参数一│整数 菜单ID: 要删除的句柄。
项高
- 签名:
无 项高([整数 像素=28]) - 说明:设置菜单项行高(像素),最小 16,默认 28。
- 参数一│[整数 像素=28]: 行高。
字号
- 签名:
无 字号([整数 像素=12]) - 说明:设置菜单文字字号(像素),最小 6,默认 12。
- 参数一│[整数 像素=12]: 字号。
文字色
- 签名:
无 文字色([文本 颜色="#FFFFFF"]) - 说明:设置菜单文字颜色(#RGB / #ARGB)。
- 参数一│[文本 颜色=”#FFFFFF”]: 如 “#FFFFFF”。
背景色
- 签名:
无 背景色([文本 颜色="#2B2B2B"]) - 说明:设置菜单背景色(#RGB / #ARGB)。
- 参数一│[文本 颜色=”#2B2B2B”]: 如 “#2B2B2B”。
悬停文字色
- 签名:
无 悬停文字色([文本 颜色="#FFFFFF"]) - 说明:设置鼠标悬停时的菜单项文字颜色。
- 参数一│[文本 颜色=”#FFFFFF”]: 如 “#FFFFFF”。
悬停背景色
- 签名:
无 悬停背景色([文本 颜色="#3A3A3A"]) - 说明:设置鼠标悬停时的菜单项背景色。
- 参数一│[文本 颜色=”#3A3A3A”]: 如 “#3A3A3A”。
取项数
- 签名:
整数 取项数([整数 父ID=0]) - 说明:取同级项数(含分割线)。父ID=0 为根级;传 -1 返回菜单全部项数。
- 参数一│[整数 父ID=0]: 父项句柄;0=根级,-1=全部。
取项ID
- 签名:
整数 取项ID(整数 位置, [整数 父ID=0]) - 说明:按同级位置(0 起)取菜单句柄;无效位置返回 0。
- 参数一│整数 位置: 同级序号(0 起)。
- 参数二│[整数 父ID=0]: 父项句柄,0=根级。
取名称
- 签名:
文本 取名称(整数 菜单ID) - 说明:取指定菜单项的显示名称。
- 参数一│整数 菜单ID: 添加/插入项返回的句柄。
取快捷键
- 签名:
文本 取快捷键(整数 菜单ID) - 说明:取指定菜单项的快捷键文本。
- 参数一│整数 菜单ID: 菜单句柄。
取禁用
- 签名:
逻辑 取禁用(整数 菜单ID) - 说明:取指定菜单项是否禁用。
- 参数一│整数 菜单ID: 菜单句柄。
取显示
- 签名:
逻辑 取显示(整数 菜单ID) - 说明:取指定菜单项是否显示。
- 参数一│整数 菜单ID: 菜单句柄。
点击事件
- 签名:
无 点击事件(整数 菜单ID, [子程序指针 回调]) - 说明:为指定句柄的菜单项注册点击回调;回调为无参子程序,如 函数 打开被点击() { … }
- 参数一│整数 菜单ID: 添加项/添加子菜单 返回的句柄。
- 参数二│[子程序指针 回调]: 如 &打开被点击;传 0 清除。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成「右键菜单」 | 必须「右键菜单类」 |