选择器: textbox · 设计器组件: 文本框 / 多行文本框 · 按名称: textbox#名称 或 #名称
用途: 单行/多行输入。
硬约束与叠画
- 控件名来自窗口 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);只读 |
文本 |
文本 |
读写 |
当前内容;可读可写 |
自动折行 |
逻辑 |
读写 |
真=多行自动换行 |
显示滚动条 |
整数 |
读写 |
1=不显示,2=纵向,3=横向,4=两者;仅内容超出可视区时显示 |
滚动条宽度 |
整数 |
读写 |
6~32 像素 |
行间距 |
整数 |
读写 |
行高倍数×100,如 120=1.20 倍;0=默认 1.20 |
滚动位置 |
整数 |
读写 |
垂直滚动像素偏移(运行时);可读可写 |
光标位置 |
整数 |
读写 |
插入符在文本中的字符索引;可读可写 |
只读 |
逻辑 |
读写 |
真=不可编辑(仍可选中/复制);假=可编辑 |
最大长度 |
整数 |
读写 |
可输入/载入的最大字符数;0=默认(单行约 2K,多行/超级约 200M) |
密码覆盖符 |
文本 |
读写 |
密码模式下的遮罩字符,默认 ●;只取首字符 |
输入限制 |
整数 |
读写 |
0=无,1=仅数字,2=仅字母,3=字母数字,4=仅英文(A-Z/a-z) |
字体 |
文本 |
读写 |
字体名称,如 微软雅黑;读写:组件.字体 / 组件.字体 = “…” |
字号 |
整数 |
读写 |
像素;读写:组件.字号 / 组件.字号 = 16 |
粗体 |
逻辑 |
读写 |
真=粗体;读写:组件.粗体 / 组件.粗体 = 真 |
斜体 |
逻辑 |
读写 |
真=斜体;读写:组件.斜体 / 组件.斜体 = 真 |
对齐 |
整数 |
读写 |
0=左对齐,1=居中,2=右对齐 |
文字色 |
文本 |
读写 |
如 #FFFFFF 或 #RRGGBB |
背景色 |
文本 |
读写 |
如 #3E3E42 或 #RRGGBB |
描边样式 |
整数 |
读写 |
0=实线,1=虚线,2=点线,3=点划线,4=双点划线 |
焦点边框色 |
文本 |
读写 |
如 #0096FF |
焦点背景色 |
文本 |
读写 |
如 #RRGGBB |
焦点发光色 |
文本 |
读写 |
如 #0096FF |
方法
组件类库方法(调用必须带括号)。
| 方法 |
签名 |
返回 |
取值/说明 |
加入文本 |
无 加入文本(文本 内容) |
无 |
末尾追加 |
清空 |
无 清空() |
无 |
等同 文本 = "" |
选中全部 |
无 选中全部() |
无 |
|
取选中文本 |
文本 取选中文本() |
文本 |
无选区→空 |
取字符数 |
整数 取字符数([逻辑 全部]) |
整数 |
真=整框;假=选区长度 |
置焦点色 |
无 置焦点色([文本 边框色="#0096FF"], [文本 背景色=""], [文本 发光色="#0096FF"]) |
无 |
|
置边框 |
无 置边框([逻辑 显示边框=真], [整数 边框大小=1], [文本 边框颜色], [整数 描边样式]) |
无 |
|
移动 |
无 移动(小数 左边, 小数 顶边, [小数 宽度], [小数 高度]) |
无 |
|
置焦点 |
无 置焦点() |
无 |
|
刷新 |
无 刷新() |
无 |
|
显示 |
无 显示() |
无 |
等同 可见 = 真 |
隐藏 |
无 隐藏() |
无 |
等同 可见 = 假 |
置字体 |
逻辑 置字体(字体类 字体) |
逻辑 |
painter.md |
文本框1.加入文本("hello")
输出(文本框1.取字符数(真))
文本框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 |
鼠标右键双击控件。 |
获得焦点 |
无 |
控件获得键盘焦点。 |
失去焦点 |
无 |
控件失去键盘焦点。 |
按键按下 |
整数 键码, 整数 Shift, 逻辑 Ctrl, 整数 组合键 |
按键按下(含自动重复)。Shift=是否按住Shift;Ctrl=是否按住Ctrl;组合键=1/2/4 位标志。 |
按下某键 |
整数 键码, 整数 Shift, 逻辑 Ctrl, 整数 组合键 |
某键刚被按下的第一下(不含自动重复)。 |
按住某键 |
整数 键码, 整数 Shift, 逻辑 Ctrl, 整数 组合键 |
按住某键触发的自动重复。 |
抬起某键 |
整数 键码, 整数 Shift, 逻辑 Ctrl, 整数 组合键 |
某键被放开。 |
内容改变 |
文本 当前文本 |
文本框内容发生变化。 |
文本改变 |
文本 当前文本 |
文本框文本发生变化(与「内容改变」同时触发)。 |
函数 文本框1.单击 (整数 X, 整数 Y) {
// …
}
YSS 样式
以下为样式表(.yss)键与示例;写样式前请先读窗体 XML 取控件 名称 与 typeId,见 window-xml.md。
样式概览
密码、输入限制等见「非 YSS」。
伪状态与映射
伪状态: :hover · :focus · :disabled
伪态映射:
| 伪态块 |
实际字段 |
:focus { border-color } / background-color |
focus-border-color / focus-background-color |
:hover { … } |
hover-*(若写入) |
:disabled { color } / background-color |
disabled-color / disabled-background-color |
属性说明(逐键)
文字与字体
| 属性 |
作用 |
取值 / 范围 |
说明与注意 |
color |
输入文字色 |
颜色 |
|
font-size / font-family / font-bold / font-italic |
字体 |
同标签 |
|
text-align |
水平对齐 |
left/center/right |
|
底板与描边
| 属性 |
作用 |
取值 / 范围 |
说明与注意 |
background-color / background |
底板色 |
颜色 |
|
transparent-background |
不铺底 |
true/false |
|
border-color / border-width / border-radius / show-border |
描边 |
同按钮 |
|
padding / padding-* |
内容区内边距 |
像素 |
单行左右 padding 常见 8 |
word-wrap |
多行自动折行 |
true/false |
多行控件常用 |
占位符
| 属性 |
作用 |
取值 / 范围 |
说明与注意 |
placeholder / placeholder-text |
空内容时提示文案 |
字符串 |
写入控件提示/占位槽 |
placeholder-color |
占位符颜色 |
颜色,如 #888888 |
旁路表;空内容时绘制灰字 |
焦点 / 禁用
| 属性 |
作用 |
说明与注意 |
focus-border-color |
焦点边框色 |
获焦时描边 |
focus-background-color |
焦点底板色 |
|
focus-glow-color |
焦点光晕色 |
|
disabled-color / disabled-background-color |
禁用文字 / 底板 |
|
多行滚动条
| 属性 |
作用 |
取值 / 范围 |
说明与注意 |
scrollbar-width |
滚动条宽度 |
约 4–24 |
多行有效 |
scrollbar-thumb-color |
滑块色 |
颜色 |
|
scrollbar-track-color |
轨道色 |
颜色 |
|
scrollbar-color |
简写 |
thumb track 两色 |
如 #787878 #282828 |
使用示例
textbox#输入框1 {
color: #E0E0E0;
background-color: #1E1E1E;
border-color: #5A5A5A;
border-width: 1;
border-radius: 4;
show-border: true;
font-size: 13;
padding-left: 8;
padding-right: 8;
placeholder: "请输入…";
placeholder-color: #888888;
}
textbox#输入框1:focus {
focus-border-color: #007ACC;
focus-background-color: #252526;
focus-glow-color: #007ACC;
}
textbox#备注 {
word-wrap: true;
background-color: #2D2D30;
border-radius: 6;
scrollbar-width: 10;
scrollbar-color: #787878 #282828;
}
完整示例
textbox {
color: #E0E0E0;
background-color: #1E1E1E;
border-color: #5A5A5A;
border-width: 1;
border-radius: 4;
show-border: true;
font-size: 13;
}
textbox#搜索 {
placeholder: "搜索…";
placeholder-color: #777777;
padding: 0 10;
}
textbox#搜索:focus {
focus-border-color: #007ACC;
focus-glow-color: #007ACC;
}