YStudio Y++

YSS · 菜单栏(menubar)

Y++ / YStudio 开发文档 · 一点滴

选择器: menubar · 设计器组件: 菜单栏 · 按名称: menubar#名称#名称

项伪类: menubar:item · menubar:item:hover

默认透明背景尺寸模式=自由(改其它属性不会把栏拉满窗宽)。

专用属性

属性 说明 映射
bar-height 顶栏高度(像素) 属性「栏高度」
item-height / dropdown-item-height 下拉项行高 属性「项高度」
show-checkboxes 下拉子项显示勾选框 属性「显示勾选」
check-size 勾选框边长(8–32,默认 14) YSS 扩展 + 属性「勾选框大小」
indicator-size check-size(复选框系属性) YSS 扩展
indicator-background-color 勾选框背景色 YSS 扩展
indicator-border-color 勾选框边框色 YSS 扩展
checkmark-color 勾选标记颜色 YSS 扩展
show-border 显示顶栏边框 属性「显示边框线」
border-width 边框粗细 属性「边框大小」
border-color 边框颜色 属性「边框线颜色」
color 文字色 属性「文字色」
background-color 背景;transparent / none = 透明背景 属性「背景色」+「透明背景」
transparent-background 真=不绘制栏底色(默认) 属性「透明背景」
hover-color / item-hover-color 顶栏/下拉项悬停文字色 属性「悬停文字色」
hover-background-color / item-hover-background 顶栏/下拉项悬停背景 属性「悬停背景色」
font-size / font-family 字体 通用
show-mnemonic 显示助记符下划线 属性「助记符」

示例

menubar#菜单栏1 {
    bar-height: 28;
    item-height: 24;
    show-checkboxes: true;
    check-size: 14;
    indicator-background-color: #2D2D30;
    indicator-border-color: #707070;
    checkmark-color: #00B464;
    background-color: transparent;   /* 默认;改成 #2D2D30 则不透明 */
    color: #F5F5F5;
    hover-color: #FFFFFF;
    item-hover-background: #3E3E42;
}

menubar:item:hover {
    background-color: #3E3E42;
    color: #FFFFFF;
}

代码侧:全部属性

布局/通用:提示左边顶边宽度高度可见启用句柄(只读)

菜单栏专用:菜单项列表位置(吸附顶部/自由)、尺寸模式(自适应/自由)、栏高度项高度助记符显示勾选勾选框大小显示边框线边框大小边框线颜色文字色背景色透明背景悬停文字色悬停背景色

尺寸模式: 「自适应」=随窗体宽度;「自由」=设计时尺寸。新菜单栏默认自由;拖动手柄也会自动切到自由。

代码侧:全部方法

通用对象方法:移动(左边, 顶边, [宽度], [高度])置焦点()刷新()显示()隐藏()

菜单专用:

方法 说明
取项目数() 全部菜单项数量(含子项)
取项目文本(索引) 按索引取文本
置项目文本(索引, 文本) 按索引改文本
清空() 清空全部项
删除项目(索引) 删除指定项
加入主菜单(文本, [图标=""]) 追加顶栏主菜单
加入子菜单(父索引, 文本, [图标=""]) 追加子项(父索引 -1=最后一个主菜单下)
加入分割线([父索引=-1]) 追加分割线
置项目禁用(索引, 禁用) 设置禁用
置项目图标(索引, 图标) 设置图标
置项目勾选(索引, 勾选) 设置子项勾选(需已开启显示勾选)
取项目勾选(索引) 返回是否勾选
取勾选索引列表() 已勾选子项索引数组
置全部可勾选(可勾选) 批量可勾选并自动开启显示勾选(代码优先)

代码侧:全部事件

通用指针/焦点/键盘(与其它控件相同):单击双击右键单击鼠标按下鼠标抬起鼠标移动鼠标进入鼠标离开鼠标左键单击鼠标左键双击鼠标中间单击鼠标齿轮滚动鼠标右键单击鼠标右键双击获得焦点失去焦点按键按下按下某键按住某键抬起某键

菜单专用:

事件 参数
项被单击 整数 索引, 文本 项目文本
勾选状态改变 整数 索引, 文本 项目文本, 逻辑 勾选

菜单项命名事件:菜单栏1.文件.新建函数 菜单栏1.文件.新建(整数 索引, 文本 项目文本)

完整示例

函数 主窗口.创建完毕 () {
    菜单栏1.置全部可勾选(真)
    菜单栏1.置项目勾选(2, 真)
}

函数 菜单栏1.勾选状态改变 (整数 索引, 文本 项目文本, 逻辑 勾选) {
    输出 (索引, 项目文本, 勾选)
}

函数 菜单栏1.文件.打开 (整数 索引, 文本 项目文本) {
    输出 ("打开", 项目文本)
}

说明: 勾选框仅出现在下拉子菜单项(非顶栏「文件/编辑」主菜单文字);置全部可勾选(真) 会同时打开显示勾选,无需设计器再勾选属性。