YStudio Y++

YSS · 列表框(listbox)

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

选择器: listbox · 设计器组件: 列表框 · 按名称: listbox#名称#名称

项伪类: listbox:item · listbox:item:hover · listbox:item:selected

显示模式

模式 view-mode 布局
列表 list 一行一项;icon-position 左/右/上/下
图标 icon cell-width 流式多列,上图标下文字
矩阵 matrix 固定 matrix-columns 列,上图标下文字

选择与勾选

属性 说明
selection-mode single(0) / multi(1) / none(2)
show-checkboxes 列表模式左侧勾选框(对应属性「显示勾选」)
alternating-row-colors 奇数行浅底

多选时:Ctrl+单击 切换单项,Shift+单击 范围选中。

项颜色(皮肤)

属性 / 选择器 映射
item-selected-background 选中行背景
item-hover-background 悬停行背景
item-selected-color 选中行文字色
item-hover-color 悬停行文字色
listbox:item:selected { background-color; color } 同上(选中)
listbox:item:hover { background-color; color } 同上(悬停)

另支持通用:colorbackground-colorborder-*font-*row-heightcell-widthmatrix-columnsitem-spacingicon-sizeicon-position

滚动条

属性 说明
scrollbar / scrollbar-policy 滚动条显示策略
scrollbar-width 滚动条宽度
scrollbar-track-color 轨道颜色
scrollbar-thumb-color 滑块颜色
alternate-background-color 配合 alternating-row-colors 的交替行底色

示例

listbox#列表框1 {
    view-mode: list;
    selection-mode: multi;
    show-checkboxes: true;
    alternating-row-colors: true;
    row-height: 28;
    icon-position: left;
    item-selected-background: #0E639C;
    item-hover-background: #3E3E42;
    item-selected-color: #FFFFFF;
    background-color: #2D2D30;
    border-radius: 4;
}

listbox:item:selected {
    background-color: #0E639C;
    color: #FFFFFF;
}

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

代码侧常用 API / 事件

函数 窗口1.创建完毕 () {
    列表框1.显示勾选 = 真
    列表框1.选择模式 = 1
    列表框1.排序启用 = 真
}

函数 列表框1.项被单击 (整数 当前索引, 文本 项目) {
    输出 (项目)
}
函数 列表框1.项被双击 (整数 当前索引, 文本 项目) {
    输出 ("打开", 项目)
}
函数 列表框1.项被删除 (整数 当前索引, 文本 项目) {
    输出 ("删", 项目)
}
函数 列表框1.项顺序改变 (整数 旧索引, 整数 新索引) {
    输出 (旧索引, "->", 新索引)
}

// CRUD
列表框1.插入项目(0, "首项")
列表框1.置项目文本(0, "改名")
列表框1.删除项目(0)
文本 t = 列表框1.取当前文本()
整数 i = 列表框1.查找项目("目标")
列表框1.移动项目(0, 2)

// 多选
整数 选中[] = 列表框1.取选中索引()
列表框1.滚动到项目(20)
列表框1.排序()

关闭按钮四角:属性「关闭按钮位置」= 右上 / 右下 / 左上 / 左下(对应整数 0/1/2/3;项需可关闭或调用 置项目可关闭)。

勾选框:属性「显示勾选」= 真,且「显示模式」= 列表 时,每项左侧显示可勾选方框。