YStudio Y++

图片框(picturebox)

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

选择器: picturebox · 设计器组件: 图片框 · 按名称: picturebox#名称 或 #名称
用途: 显示位图/图标;装饰用背景与边框。

硬约束与叠画

  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);只读
透明背景 逻辑 读写 真=透明,假=不透明
圆角 整数 读写 像素,0=直角
图片 字节集 读写 支持 PNG/ICO/JPG/GIF/SVG(透明 PNG 保留 Alpha);可用 到字节集(“图标.png”)
图片模式 整数 读写 0=居中原始,1=等比适应,2=拉伸填满
图片透明度 整数 读写 0~100

方法

组件类库方法(调用必须带括号)。叠画见页首 绘制类。

方法 签名 返回 取值/说明
置图片显示 无 置图片显示([整数 图片模式], [整数 透明度]) 无 模式:0居中原始 · 1等比适应 · 2拉伸填满;透明度 0~100
置边框 无 置边框([逻辑 显示边框=真], [整数 边框大小=1], [文本 边框颜色], [整数 描边样式]) 无 描边:0实 1虚 2点 3点划 4双点划
置圆角 无 置圆角([整数 半径=4]) 无 0=直角
移动 无 移动(小数 左边, 小数 顶边, [小数 宽度], [小数 高度]) 无
置焦点 无 置焦点() 无
刷新 无 刷新() 无
显示 无 显示() 无 等同 可见 = 真
隐藏 无 隐藏() 无 等同 可见 = 假
置字体 逻辑 置字体(字体类 字体) 逻辑 painter.md
图片框1.图片 = 到字节集("a.png")
图片框1.置图片显示(1, 100)
图片框1.刷新()

事件

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

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

样式概览

不支持文字/字体类 YSS。

伪状态与映射

伪状态: 一般无交互伪态绘制(以底板与边框为主)

属性说明(逐键)

排除键(运行时忽略): color、font-size、font-family、font-bold、font-italic、text-align 及文字渐变/发光/立体字。需要文字请另放 label。

属性 作用 取值 / 范围 说明与注意
background-color / background 无图或透明图时的底色 颜色,如 #1E1E1E
transparent-background 不铺底色 true/false 圆形头像常用
border-color 边框色 颜色
border-width 边框宽 像素
border-radius 圆角 像素;头像可用 50+ 大圆角≈椭圆裁剪观感(视实现)
show-border 是否画边框 true/false
opacity 图片不透明度 0–100 映射属性「图片透明度」

图片路径、缩放模式由属性面板 / 代码 图片 / 缩放模式 设置,YSS 不覆盖路径。


使用示例

picturebox {
    background-color: #1E1E1E;
    border-color: #5A5A5A;
    border-width: 1;
    border-radius: 8;
    show-border: true;
}

picturebox#头像 {
    border-radius: 50;
    transparent-background: true;
    opacity: 95;
    show-border: true;
    border-color: #007ACC;
    border-width: 2;
}

完整示例

picturebox {
    background-color: #1E1E1E;
    border-color: #5A5A5A;
    border-width: 1;
    border-radius: 8;
    show-border: true;
}

picturebox#头像 {
    border-radius: 50;
    transparent-background: true;
    opacity: 95;
}