YStudio Y++

标签(label)

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

选择器: label · 设计器组件: 标签 · 按名称: label#名称 或 #名称
用途: 静态/富文本展示。

硬约束与叠画

  1. 控件名来自窗口 XML「名称」;属性赋值无括号(如 标题 = "确定"),方法调用必须带括号(如 刷新())。
  2. 事件写 函数 控件名.事件名(参数…),形参类型以本页事件表为准。
  3. 任意控件客户区叠画用支持库 绘制类:绘制类 g → g.绑组件(本控件名)(组件名无引号)。画布场景编辑见 画布控件。
  4. 字体对象见绘制文档中的字体类;置字体(字体类) 将字体应用到本控件。
  5. 不要虚构未列出的方法;YSS 键见下文与 YSS.md。

属性

设计器属性面板与代码侧可读可写属性(来源:组件类库)。

属性 类型 读写 说明
提示 文本 读写 鼠标悬停时的提示文字
鼠标指针 文本 读写 空=默认;可用 arrow/hand/ibeam/cross/wait/no/sizeall 等预设,或.cur/.ani 路径(如 资源/press.cur)
左边 小数 读写 相对窗体左边的位置(像素)
顶边 小数 读写 相对窗体顶边的位置(像素)
宽度 小数 读写 控件宽度(像素)
高度 小数 读写 控件高度(像素)
停靠 整数 读写 0无 1上 2下 3左 4右 5填充;菜单/工具/状态栏仍用专用吸附
可见 逻辑 读写 真=显示,假=隐藏
启用 逻辑 读写 真=可用,假=禁用
句柄 长整数 只读 组件逻辑句柄(1 起,供动画类等绑定;非 HWND);只读
字体 文本 读写 字体名称,如 微软雅黑;读写:组件.字体 / 组件.字体 = “…”
字号 整数 读写 像素;读写:组件.字号 / 组件.字号 = 16
粗体 逻辑 读写 真=粗体;读写:组件.粗体 / 组件.粗体 = 真
斜体 逻辑 读写 真=斜体;读写:组件.斜体 / 组件.斜体 = 真
对齐 整数 读写 0=左对齐,1=居中,2=右对齐
文字色 文本 读写 如 #FFFFFF 或 #RRGGBB
背景色 文本 读写 如 #3E3E42 或 #RRGGBB
描边样式 整数 读写 0=实线,1=虚线,2=点线,3=点划线,4=双点划线
透明背景 逻辑 读写 真=透明,假=不透明
圆角 整数 读写 像素,0=直角
显示模式 整数 读写 0=图标+文字,1=仅图标,2=仅文字
图片 字节集 读写 图片字节;可用 到字节集(“图标.png”)
文本格式 整数 读写 0=纯文本,1=HTML,2=Markdown,3=自动识别;读写:标签1.文本格式 = 1
垂直对齐 整数 读写 0=上,1=中,2=下
自动折行 逻辑 读写 真=自动换行
超出省略 整数 读写 0=不省略,1=末尾省略,2=中间省略
滚动条 整数 读写 1=不显示,2=纵向,3=横向,4=两者;默认不显示;未开启时超出裁剪
左边距 整数 读写 像素
上边距 整数 读写 像素
右边距 整数 读写 像素
下边距 整数 读写 像素

方法

组件类库方法(调用必须带括号)。下表为带类型签名。

方法 签名 返回 说明
置HTML 无 置HTML(文本 内容) 无 标题按 HTML 显示
置Markdown 无 置Markdown(文本 内容) 无 标题按 Markdown 显示
置边距 无 置边距([整数 左], [整数 上], [整数 右], [整数 下]) 无 像素内边距
置悬停色 无 置悬停色([文本 文字色="#FFFFFF"], [文本 背景色="#008CDC"]) 无
置背景渐变 无 置背景渐变([文本 渐变色="#2A2A2A"], [整数 方向=0]) 无 0纵向 · 1横向
置文字渐变 无 置文字渐变([文本 渐变色], [整数 方向]) 无
置文字发光 无 置文字发光([逻辑 启用], [文本 颜色], [整数 大小]) 无
置3D文字 无 置3D文字([逻辑 启用], [文本 暗色], [整数 深度]) 无
置外发光 无 置外发光([逻辑 启用], [文本 颜色], [整数 大小]) 无
置图片样式 无 置图片样式([整数 图标位置=0], [整数 图片大小=16], [整数 图片模式=0], [整数 间距=4], [整数 透明度=100]) 无 同按钮
置边框 无 置边框([逻辑 显示边框=真], [整数 边框大小=1], [文本 边框颜色], [整数 描边样式]) 无 描边 0实…4双点划
置阴影 无 置阴影([文本 阴影色="#000000"], [整数 模糊=4], [整数 X=0], [整数 Y=2]) 无
置圆角 无 置圆角([整数 半径=4]) 无 0=直角
移动 无 移动(小数 左边, 小数 顶边, [小数 宽度], [小数 高度]) 无 可选同时改宽高
置焦点 无 置焦点() 无
刷新 无 刷新() 无
显示 / 隐藏 无 显示() / 无 隐藏() 无 等同 可见 = 真/假
置字体 逻辑 置字体(字体类 字体) 逻辑 见 painter.md
标签1.置HTML("<b>标题</b>")
标签1.置边距(8, 4, 8, 4)

事件

在代码中写 函数 控件名.事件名(...) 处理。

事件 参数 说明
单击 整数 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。

样式概览

支持发光、渐变字、外发光、折行与省略。

伪状态与映射

伪状态: :hover · :disabled(无 :checked / :pressed)

伪态映射:

伪态块中的键 实际字段
:hover { color } / background-color hover-color / hover-background-color
:disabled { color } / background-color disabled-color / disabled-background-color

属性说明(逐键)

文字与字体

属性 作用 取值 / 范围 说明与注意
color 文字色 #RRGGBB / #AARRGGBB
font-size 字号 像素
font-family 字体族 字符串,含空格加引号
font-bold / font-italic 粗体 / 斜体 true/false
text-align 水平对齐 left/0 · center/1 · right/2
vertical-align 垂直对齐 top · middle(默认)· bottom
text-gradient-color 文字渐变第二色 颜色 与 color 双色渐变
text-gradient-direction 文字渐变方向 horizontal / vertical
text-glow 文字发光开关 true/false
text-glow-color 文字光晕色 颜色
text-glow-size 光晕半径 像素,如 3
text-3d 立体字 true/false 简易浮雕,非真 3D
text-3d-dark-color 立体字暗部 颜色
text-3d-depth 立体深度 1–16
word-wrap 多行自动折行 true/false
ellipsis-mode 超出省略 none/0/无 · end/尾 · middle/中 与设计器「超出省略」互通
text-format 文本格式 plain/0 · html/1 · markdown/MD/2 · auto/3 见下文切换说明

底板与描边

属性 作用 取值 / 范围 说明与注意
background-color / background 底板色 颜色
transparent-background 不铺底 true/false 叠在窗体上常用
border-color / border-width / border-radius / show-border 描边 同按钮
border-style 线型 solid/dashed/dotted/dash-dot 标签一般不用 underline
opacity 整体不透明度 0–100
padding / padding-* 内边距 简写或单侧
margin / margin-* 外边距 在控件矩形内缩进绘制区

外发光与阴影

属性 作用 取值 / 范围 说明与注意
outer-glow / outer-glow-color / outer-glow-size 外轮廓光晕 同按钮 标签外发光已接线
shadow / box-shadow 启用阴影 true/false
shadow-color / shadow-blur / shadow-offset-x / shadow-offset-y 阴影参数 同按钮 设计器对标签需 shadow 开启才画

伪态色

属性 作用
hover-color / hover-background-color 悬停文字 / 底板
disabled-color / disabled-background-color 禁用文字 / 底板

使用示例

label#标题 {
    color: #E8E8E8;
    font-size: 18;
    font-bold: true;
    text-align: center;
    text-glow: true;
    text-glow-color: #00BFFF;
    text-glow-size: 3;
    transparent-background: true;
}

label#说明 {
    color: #AAAAAA;
    font-size: 12;
    word-wrap: true;
    transparent-background: true;
}

label#路径 {
    ellipsis-mode: end;
    text-align: left;
}

完整示例

label#标题 {
    color: #E8E8E8;
    transparent-background: true;
    font-size: 18;
    font-family: "Microsoft YaHei UI";
    font-bold: true;
    text-align: center;
    vertical-align: middle;
    text-glow: true;
    text-glow-color: #00BFFF;
    text-glow-size: 3;
    padding: 4 8;
}

label#标题:hover {
    hover-color: #FFFFFF;
}

label#标题:disabled {
    disabled-color: #666666;
}