选择器:
groupbox·card(≡groupbox) · 设计器组件: 分组框 · 按名称:groupbox#名称/card#名称
用途: 带标题的容器/卡片外壳。
硬约束与叠画
- 控件名来自窗口 XML「名称」;属性赋值无括号(如
标题 = "确定"),方法调用必须带括号(如刷新())。 - 事件写
函数 控件名.事件名(参数…),形参类型以本页事件表为准。 - 任意控件客户区叠画用支持库 绘制类:
绘制类 g→g.绑组件(本控件名)(组件名无引号)。画布场景编辑见 画布控件。 - 字体对象见绘制文档中的字体类;
置字体(字体类)将字体应用到本控件。 - 不要虚构未列出的方法;YSS 键见下文与 YSS.md。
属性
设计器属性面板与代码侧可读可写属性(来源:组件类库)。
| 属性 | 类型 | 读写 | 说明 |
|---|---|---|---|
提示 |
文本 | 读写 | 鼠标悬停时的提示文字 |
鼠标指针 |
文本 | 读写 | 空=默认;可用 arrow/hand/ibeam/cross/wait/no/sizeall 等预设,或.cur/.ani 路径(如 资源/press.cur) |
左边 |
小数 | 读写 | 相对窗体左边的位置(像素) |
顶边 |
小数 | 读写 | 相对窗体顶边的位置(像素) |
宽度 |
小数 | 读写 | 控件宽度(像素) |
高度 |
小数 | 读写 | 控件高度(像素) |
停靠 |
整数 | 读写 | 0无 1上 2下 3左 4右 5填充;菜单/工具/状态栏仍用专用吸附 |
可见 |
逻辑 | 读写 | 真=显示,假=隐藏 |
启用 |
逻辑 | 读写 | 真=可用,假=禁用 |
句柄 |
长整数 | 只读 | 组件逻辑句柄(1 起,供动画类等绑定;非 HWND);只读 |
标题 |
文本 | 读写 | 分组框标题文字;与「显示标题」配合,假则不绘制标题 |
显示标题 |
逻辑 | 读写 | 真=显示标题(默认);假=不显示标题且边框铺满 |
标题对齐 |
整数 | 读写 | 0=左,1=中,2=右 |
标题位置 |
整数 | 读写 | 0=线中,1=线内,2=线上 |
标题文字色 |
文本 | 读写 | 如 #RRGGBB,空=用文字色 |
标题背景色 |
文本 | 读写 | 如 #RRGGBB,空=透明 |
透明背景 |
逻辑 | 读写 | 真=透明,假=使用背景色 |
背景色 |
文本 | 读写 | 如 #RRGGBB |
圆角 |
整数 | 读写 | 像素,0=直角;边框与背景均支持圆角 |
显示边框 |
逻辑 | 读写 | 真=显示边框 |
边框大小 |
整数 | 读写 | 像素 |
边框颜色 |
文本 | 读写 | 如 #RRGGBB |
描边样式 |
整数 | 读写 | 0=实线…4=双点划线 |
方法
组件类库方法(调用必须带括号)。下表为带类型签名。
| 方法 | 签名 | 返回 | 说明 |
|---|---|---|---|
置边框 |
无 置边框([逻辑 显示边框=真], [整数 边框大小=1], [文本 边框颜色], [整数 描边样式]) |
无 | 描边:0实 1虚 2点 3点划 4双点划 |
置圆角 |
无 置圆角([整数 半径=4]) |
无 | 0=直角 |
移动 |
无 移动(小数 左边, 小数 顶边, [小数 宽度], [小数 高度]) |
无 | 可选同时改宽高 |
置焦点 |
无 置焦点() |
无 | |
刷新 |
无 刷新() |
无 | |
显示 / 隐藏 |
无 显示() / 无 隐藏() |
无 | 等同 可见 = 真/假 |
置字体 |
逻辑 置字体(字体类 字体) |
逻辑 | 见 painter.md |
分组框1.置圆角(8)
分组框1.置边框(真, 1, "#5A5A5A")
事件
在代码中写 函数 控件名.事件名(...) 处理。
| 事件 | 参数 | 说明 |
|---|---|---|
单击 |
整数 X, 整数 Y | 鼠标左键单击控件。 |
双击 |
整数 X, 整数 Y | 鼠标左键双击控件。 |
右键单击 |
整数 X, 整数 Y | 鼠标右键单击控件。 |
鼠标按下 |
整数 X, 整数 Y, 逻辑 按下 | 鼠标键在控件上按下。按下=真表示当前仍按住。 |
鼠标抬起 |
整数 X, 整数 Y, 逻辑 按下 | 鼠标键在控件上放开。 |
鼠标移动 |
整数 X, 整数 Y, 逻辑 按下 | 鼠标在控件上移动。按下表示左键是否按住。 |
鼠标进入 |
整数 X, 整数 Y | 鼠标指针进入控件区域。 |
鼠标离开 |
整数 X, 整数 Y | 鼠标指针离开控件区域。 |
鼠标左键单击 |
整数 X, 整数 Y | 鼠标左键单击(与「单击」同时触发)。 |
鼠标左键双击 |
整数 X, 整数 Y | 鼠标左键双击(与「双击」同时触发)。 |
鼠标中间单击 |
整数 X, 整数 Y | 鼠标中键单击控件。 |
鼠标齿轮滚动 |
整数 X, 整数 Y, 逻辑 向上 | 在控件上滚动鼠标滚轮。向上=真表示向上滚。 |
鼠标右键单击 |
整数 X, 整数 Y | 鼠标右键单击(与「右键单击」同时触发)。 |
鼠标右键双击 |
整数 X, 整数 Y | 鼠标右键双击控件。 |
函数 分组框1.单击 (整数 X, 整数 Y) {
// …
}
YSS 样式
以下为样式表(.yss)键与示例;写样式前请先读窗体 XML 取控件 名称 与 typeId,见 window-xml.md。
样式概览
支持阴影、四角角标、角部 aurora、CRT 扫描线。
伪状态与映射
伪状态: 一般无按钮级伪态;子控件用后代选择器(如 card label)。
标题文案用属性
标题或代码设置,YSS 不写text改标题字。
属性说明(逐键)
标题
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
color |
标题文字色 | 颜色 | |
title-align / text-align |
标题水平对齐 | left/center/right |
二者等效 |
font-size / font-family / font-bold / font-italic |
标题字体 | 同标签 |
客户区外壳
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
background-color / background |
客户区底色 | 颜色 | |
transparent-background |
不铺底 | true/false |
|
border-color / border-width / border-radius / show-border |
描边 | 赛博角标时常 border-radius: 0 |
|
padding / padding-* |
内边距 | 像素 | |
box-shadow / shadow |
启用阴影 | true/false |
卡片质感 |
shadow-color / shadow-blur / shadow-offset-x / shadow-offset-y |
阴影参数 | 同按钮 |
四角角标(赛博风)
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
corner-brackets |
开关四角 L 形 | true/false |
旁路表绘制 |
corner-bracket-color |
角标色 | 颜色,如 #FF2EC4 |
|
corner-bracket-length / corner-bracket-size |
臂长 | 约 4–64,默认 12 |
|
corner-bracket-width / corner-bracket-thickness |
线宽 | 约 1–8,默认 2 |
角部 aurora 柔光
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
corner-glow / corner-glow-color |
径向柔光色 | 颜色或 true |
true 用默认青绿 |
corner-glow-corner |
发光角 | top-left/top-right(默认)/bottom-right/bottom-left |
|
corner-glow-radius / corner-glow-size |
半径 | 约 24–480,默认 120 |
|
corner-glow-opacity |
不透明度 | 1–100,默认 35 |
CRT 扫描线
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
scanlines |
开关扫描线 | true/false |
圆角内裁剪 |
scanline-color |
线色 | 颜色 | |
scanline-opacity |
不透明度 | 1–100,默认 6 |
|
scanline-spacing |
间距 | 约 1–16,默认 2 |
使用示例
groupbox {
color: #DCDCDC;
background-color: #2A2A2A;
border-color: #707070;
border-width: 1;
border-radius: 4;
show-border: true;
}
card#卡片信息 {
background-color: #0D1424;
border-color: #00F0FF;
border-radius: 0;
show-border: true;
corner-brackets: true;
corner-bracket-color: #FF2EC4;
corner-bracket-length: 14;
}
card#卡片空气 {
background-color: #0F1A14;
border-color: #1A3A28;
border-radius: 16;
show-border: true;
corner-glow: #4ADE80;
corner-glow-corner: top-right;
corner-glow-radius: 220;
corner-glow-opacity: 32;
scanlines: true;
scanline-opacity: 6;
}
完整示例
groupbox {
color: #DCDCDC;
background-color: #2A2A2A;
border-color: #707070;
border-width: 1;
border-radius: 4;
show-border: true;
padding: 8;
}
groupbox#分组框1 {
title-align: center;
font-size: 13;
font-bold: true;
}
card#卡片信息 {
color: #E8E8E8;
background-color: #0D1424;
border-color: #00F0FF;
border-width: 1;
border-radius: 0;
show-border: true;
corner-brackets: true;
corner-bracket-color: #FF2EC4;
corner-bracket-length: 14;
corner-bracket-width: 2;
box-shadow: true;
shadow-blur: 16;
shadow-color: #000000;
}