选择器:
supertextbox· 设计器组件: 超级文本框 · 按名称:supertextbox#名称或#名称
硬约束与叠画
- 控件名来自窗口 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 |
方法
调用必须带括号。字符下标从 0 起;行号从 1 起(跳到行/取当前行)。字体见 绘制类·字体类。编码常量见 encoding-support.md(如 #编码_UTF8=65001)。下表由元数据生成(带类型签名)。
常用常量
| 项 | 取值 |
|---|---|
| 换行风格 | 0 LF · 1 CRLF |
| 预览格式 | 0纯文本编辑 · 1HTML 只读 · 2Markdown 只读 |
| 载入/保存/撤销等 | 成功多返回 1,失败 0;跳到行/书签失败 -1 |
大文件:约 ≥4MB 可进虚拟窗口(不全量进内存);开始编辑() 尝试全文载入。
| 方法 | 签名 | 返回 | 说明 |
|---|---|---|---|
加入文本 |
无 加入文本(文本 内容) |
无 | 在超级文本框当前内容末尾追加一段文本。 |
清空 |
无 清空() |
无 | 清空超级文本框内容(等同 文本 = “”)。 |
选中全部 |
无 选中全部() |
无 | 选中超级文本框内全部文字。 |
取选中文本 |
文本 取选中文本() |
文本 | 返回当前选中的文字;无选区时返回空文本。 |
取字符数 |
整数 取字符数([逻辑 全部=真]) |
整数 | 返回字符数。全部=真取整框;全部=假取当前选中文本长度。 |
置焦点色 |
无 置焦点色([文本 边框色="#0096FF"], [文本 背景色=""], [文本 发光色="#0096FF"]) |
无 | 设置焦点状态的边框色、背景色与发光色。 |
滚到顶部 |
无 滚到顶部() |
无 | 将超级文本框滚动到内容顶部。 |
滚到底部 |
无 滚到底部() |
无 | 将超级文本框滚动到内容底部。 |
取滚动位置 |
整数 取滚动位置() |
整数 | 返回当前垂直滚动偏移(像素)。 |
置滚动位置 |
无 置滚动位置(整数 位置) |
无 | 设置垂直滚动偏移(像素)。 |
取最大滚动 |
整数 取最大滚动() |
整数 | 返回可滚动的最大垂直偏移(像素)。 |
取光标位置 |
整数 取光标位置() |
整数 | 返回插入符在文本中的字符索引。 |
置光标位置 |
无 置光标位置(整数 位置) |
无 | 将插入符移动到指定字符索引。 |
取行数 |
整数 取行数() |
整数 | 返回文本行数(按换行符计)。 |
插入文本 |
无 插入文本(整数 位置, 文本 内容) |
无 | 在指定字符位置插入一段文本。 |
载入文件 |
整数 载入文件(文本 路径, [常量 编码=#编码_UTF8], [逻辑 保留格式=真], [逻辑 自动识别编码=真]) |
整数 | 从磁盘载入并替换超级文本框内容。小/中文件 mmap 快载;约 ≥4… |
查找 |
整数 查找(文本 关键字, [整数 起始位置=0], [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 从指定位置查找;找到则选中(高亮)并返回起始下标,未找到返回 -1。… |
查找下一个 |
整数 查找下一个(文本 关键字, [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 从当前选区末/光标(虚拟模式从上次命中字节之后)继续查找;找到则选中… |
查找上一个 |
整数 查找上一个(文本 关键字, [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 从当前选区起/光标向前查找上一处;找到则选中并返回下标,未找到 -1… |
查找全部 |
整数 查找全部(文本 关键字, [整数 起始=0], [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假], [逻辑 高亮=真]) |
整数 | 枚举全部命中并缓存;可选绘制命中底色。返回命中数(上限约 1 万)。… |
取查找命中位置 |
整数 取查找命中位置(整数 序号) |
整数 | 返回「查找全部」缓存中第 序号 处起始字符下标(0 起序号);无效 … |
取查找命中长度 |
整数 取查找命中长度(整数 序号) |
整数 | 返回命中字符长度;无效 0。 |
取查找命中行 |
整数 取查找命中行(整数 序号) |
整数 | 返回命中所在行号(从 1 起);无效 0。适合做结果列表。 |
清除查找高亮 |
无 清除查找高亮() |
无 | 清除「查找全部」产生的命中缓存与底色高亮。 |
取首可视行 |
整数 取首可视行() |
整数 | 返回当前可视区第一行行号(从 1 起)。 |
取末可视行 |
整数 取末可视行() |
整数 | 返回当前可视区末行行号(从 1 起,约等于首行+可视行数)。 |
取已修改 |
整数 取已修改() |
整数 | 返回脏标记:1=自上次载入/保存后已改,0=未改。可用「置已修改」手… |
置已修改 |
无 置已修改(逻辑 是否) |
无 | 设置脏标记;会触发「已修改改变」事件。载入/保存成功时运行时会自动清零。 |
跳到行 |
整数 跳到行(整数 行号) |
整数 | 将光标移到指定行行首(行号从 1 起);成功返回 0,失败返回 -1。 |
替换 |
整数 替换(文本 查找, 文本 替换为, [整数 起始=0], [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 查找第一处并替换;成功返回匹配起始下标,未找到返回 -1。正则命中按… |
全部替换 |
整数 全部替换(文本 查找, 文本 替换为, [整数 起始=0], [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 从起始位置起替换全部匹配项,返回替换次数。 |
取查找命中数 |
整数 取查找命中数(文本 关键字, [整数 起始位置=0], [逻辑 区分大小写=假], [逻辑 全词匹配=假], [逻辑 正则=假]) |
整数 | 统计匹配次数,不改内容、不改选区。单次最多约 50 万,防误扫卡死。 |
滚到选区 |
无 滚到选区() |
无 | 将当前选区/光标滚入可视区。 |
加入书签 |
整数 加入书签([整数 行号=0]) |
整数 | 在指定行加入书签(省略则当前行);同行已存在则返回原序号。返回书签序… |
跳到书签 |
整数 跳到书签(整数 序号) |
整数 | 跳到指定书签行;成功返回 0,失败 -1。 |
取书签数 |
整数 取书签数() |
整数 | 返回当前书签数量。 |
取书签行 |
整数 取书签行(整数 序号) |
整数 | 返回书签对应行号(从 1 起);无效返回 0。 |
清除书签 |
整数 清除书签([整数 序号=-1]) |
整数 | 清除指定书签;省略或传 -1 清除全部。返回剩余数量。 |
重新载入 |
整数 重新载入() |
整数 | 按上次载入的路径与编码重新从磁盘载入;无历史路径返回 0。若已置跟随… |
置跟随末尾 |
无 置跟随末尾(逻辑 是否) |
无 | 是否在重新载入成功后自动滚到底。默认关;加入文本仍会滚底。 |
取跟随末尾 |
逻辑 取跟随末尾() |
逻辑 | 返回是否开启跟随末尾。 |
置换行风格 |
无 置换行风格(整数 风格) |
无 | 保存时换行:0=LF,1=CRLF。载入后会尽量跟随文件;虚拟模式同… |
取换行风格 |
整数 取换行风格() |
整数 | 返回当前保存用换行风格:0=LF,1=CRLF。 |
置浏览模式 |
无 置浏览模式(逻辑 是否) |
无 | 浏览模式禁止键入/粘贴/替换等写操作(含虚拟补丁);与「只读」叠加。… |
取浏览模式 |
逻辑 取浏览模式() |
逻辑 | 返回是否处于浏览模式。 |
撤销 |
整数 撤销() |
整数 | 撤销上一步编辑;成功返回 1,无可撤销返回 0。虚拟模式支持当前窗口… |
重做 |
整数 重做() |
整数 | 重做上一步已撤销的编辑;成功返回 1,否则返回 0。 |
可撤销 |
逻辑 可撤销() |
逻辑 | 当前是否有可撤销的编辑步骤(含虚拟窗口缓冲内)。 |
可重做 |
逻辑 可重做() |
逻辑 | 当前是否有可重做的编辑步骤。 |
取选区起 |
整数 取选区起() |
整数 | 返回当前选区起始字符下标(无选区时等于光标位置)。 |
取选区止 |
整数 取选区止() |
整数 | 返回当前选区结束字符下标(半开区间,止可等于起)。 |
取选区 |
整数 取选区() |
整数 | 返回当前选区起始字符下标(同「取选区起」)。 |
置选区 |
无 置选区(整数 起, 整数 止) |
无 | 设置选区字符范围(半开区间 [起, 止))。 |
复制 |
整数 复制() |
整数 | 将当前选区复制到剪贴板。多行无选区时不复制(返回 0);单行无选区时… |
剪切 |
整数 剪切() |
整数 | 将当前选区剪切到剪贴板。多行无选区时不剪切;只读或虚拟超限时失败。 |
粘贴 |
整数 粘贴() |
整数 | 在光标/选区处粘贴剪贴板文本;多行保留换行。成功返回 1。 |
删除选区 |
整数 删除选区() |
整数 | 删除当前选中文字(不写入剪贴板)。无选区返回 0。 |
取当前行 |
整数 取当前行() |
整数 | 返回插入符所在行号(从 1 起,与「跳到行」一致)。 |
取当前列 |
整数 取当前列() |
整数 | 返回插入符在当前行内的列号(从 1 起)。 |
取行文本 |
文本 取行文本(整数 行号) |
文本 | 返回指定行的文本(不含行尾换行);行号从 1 起;越界返回空文本。 |
取文本范围 |
文本 取文本范围(整数 起始, 整数 结束) |
文本 | 返回字符半开区间 [起始,结束) 的文本;越界夹紧。虚拟模式仅当前窗… |
取行文本范围 |
文本 取行文本范围(整数 起行, 整数 止行) |
文本 | 返回行号闭区间 [起行,止行] 的文本(从 1 起);行间为 \n。 |
取文件字节范围 |
文本 取文件字节范围(整数 字节起, 整数 字节止) |
文本 | 虚拟模式下按相对文件数据区的字节半开区间解码为文本;非虚拟或失败返回… |
保存文件 |
整数 保存文件(文本 路径, [常量 编码=0]) |
整数 | 将当前内容写入磁盘。虚拟窗口模式可按原映射直接写出;编码省略时用载入… |
显示行号 |
无 显示行号(逻辑 是否) |
无 | 开关左侧行号栏显示。 |
取显示行号 |
逻辑 取显示行号() |
逻辑 | 返回是否正在显示行号。 |
置内容字体 |
逻辑 置内容字体(字体类 字体) |
逻辑 | 将「字体类」应用到超级文本框正文(同 置字体 / 字体.应用到内容)。 |
置行号字体 |
逻辑 置行号字体(字体类 字体) |
逻辑 | 将「字体类」应用到左侧行号栏(文本色/背景色/字体/字号/粗体/倾斜)。 |
置自动折行 |
无 置自动折行(逻辑 是否) |
无 | 开关软换行。大文件/虚拟窗口按视觉行滚动(宽度估算折行);取行数/跳… |
取自动折行 |
逻辑 取自动折行() |
逻辑 | 返回是否开启自动折行(软换行)。 |
加入关键字色 |
整数 加入关键字色(文本/文本数组 关键字, [文本 前景色="#FF5555"], [文本 背景色=""], [逻辑 区分大小写=假]) |
整数 | 为可见文本叠加关键字着色。关键字可为文本或文本数组(批量同色)。控件… |
清除关键字色 |
整数 清除关键字色([文本 关键字=""]) |
整数 | 清除关键字着色规则。省略关键字则全部清除。返回剩余规则数。 |
取关键字色数 |
整数 取关键字色数() |
整数 | 返回当前关键字着色规则条数。 |
加入语法规则 |
整数 加入语法规则(整数 类型, 文本/文本数组 模式, [文本 前景色="#569CD6"], [文本 背景色=""], [文本 结束模式=""], [逻辑 区分大小写=假], [逻辑 全词匹配=假]) |
整数 | 注册用户自定义着色规则(无内置语言)。模式可为文本或文本数组(批量同… |
清除语法规则 |
整数 清除语法规则([文本 模式=""]) |
整数 | 清除用户语法规则。省略模式则全部清除。返回剩余规则数。 |
取语法规则数 |
整数 取语法规则数() |
整数 | 返回当前用户语法规则条数。 |
加入折叠区 |
整数 加入折叠区(整数 起行, 整数 止行) |
整数 | 登记折叠区(硬行号 1 起)。仅存数据与折叠标记,不绘制折叠符、不自… |
清除折叠区 |
整数 清除折叠区([整数 序号=-1]) |
整数 | 清除折叠区;省略或 -1=全部。返回剩余数量。 |
取折叠区数 |
整数 取折叠区数() |
整数 | 返回折叠区数量。 |
取折叠区起 |
整数 取折叠区起(整数 序号) |
整数 | 返回折叠区起行(1 起);无效 0。 |
取折叠区止 |
整数 取折叠区止(整数 序号) |
整数 | 返回折叠区止行(1 起);无效 0。 |
置折叠 |
整数 置折叠(整数 序号, 逻辑 是否) |
整数 | 设置折叠标记。开启「置折叠绘制跳过」后才会藏行;默认可先只存标记。 |
取折叠 |
逻辑 取折叠(整数 序号) |
逻辑 | 返回是否已折叠标记。 |
是否折叠行 |
逻辑 是否折叠行(整数 行号) |
逻辑 | 行是否落在任一已折叠区内(不含起行本身,便于仍显示折叠头)。 |
置折叠绘制跳过 |
无 置折叠绘制跳过(逻辑 是否) |
无 | 开启后引擎按折叠标记藏行(滚动/绘制跳过已折叠体);默认关。不内置折… |
取折叠绘制跳过 |
逻辑 取折叠绘制跳过() |
逻辑 | 是否已开启折叠绘制跳过。 |
置折叠标记绘制 |
无 置折叠标记绘制(逻辑 是否) |
无 | 可选:在行号栏画简易折叠三角。点击切换请在「行号栏点击」事件里置折叠… |
取折叠标记绘制 |
逻辑 取折叠标记绘制() |
逻辑 | 是否绘制可选折叠三角。 |
取折叠区于行 |
整数 取折叠区于行(整数 行号) |
整数 | 若该硬行是某折叠区起行则返回序号,否则 -1。供自绘折叠头。 |
取行号栏左 |
整数 取行号栏左() |
整数 | 行号栏左边(表单客户区 DIP)。无行号栏返回 -1。 |
取行号栏顶 |
整数 取行号栏顶() |
整数 | 行号栏顶边(含标题栏偏移的客户区 DIP)。 |
取行号栏宽 |
整数 取行号栏宽() |
整数 | 行号栏宽度 DIP。 |
取行号栏高 |
整数 取行号栏高() |
整数 | 行号栏高度 DIP。 |
取行顶边 |
整数 取行顶边(整数 行号) |
整数 | 硬行顶边 Y(客户区 DIP);折叠藏行时对齐可见头。供小地图/叠层。 |
取坐标行 |
整数 取坐标行(整数 客户区Y) |
整数 | 客户区 Y → 硬行号(1 起);考虑软折行与折叠视觉图。 |
采样小地图 |
整数 采样小地图([整数 起行=1], [整数 止行=0], [整数 桶数=120]) |
整数 | 按硬行范围采样密度/颜色提示,供画布自绘小地图。返回采样条数。 |
取小地图采样数 |
整数 取小地图采样数() |
整数 | 最近一次「采样小地图」的条数。 |
取小地图采样行 |
整数 取小地图采样行(整数 序号) |
整数 | 采样对应的硬行号(1 起)。 |
取小地图采样密度 |
整数 取小地图采样密度(整数 序号) |
整数 | 采样密度 0..100(行字符量启发)。 |
取小地图采样色 |
文本 取小地图采样色(整数 序号) |
文本 | 采样颜色提示(#RRGGBB;优先关键字/富文本色)。 |
加入附加光标 |
整数 加入附加光标(整数 位置, [整数 选区锚点=-1]) |
整数 | 登记附加光标/选区(基建)。控件不自动多光标编辑;主光标仍用「光标位… |
清除附加光标 |
整数 清除附加光标() |
整数 | 清除全部附加光标。 |
取附加光标数 |
整数 取附加光标数() |
整数 | 返回附加光标数量(不含主光标)。 |
取附加光标位置 |
整数 取附加光标位置(整数 序号) |
整数 | 返回附加光标字符下标;无效 -1。 |
取附加光标锚点 |
整数 取附加光标锚点(整数 序号) |
整数 | 返回附加选区锚点;无选区或无效 -1。 |
置附加光标 |
整数 置附加光标(整数 序号, 整数 位置, [整数 选区锚点=-1]) |
整数 | 更新附加光标。 |
取样式段数 |
整数 取样式段数() |
整数 | 返回富文本样式 run 数量(无显式样式时 0)。供用户枚举/导出,… |
取样式段起点 |
整数 取样式段起点(整数 序号) |
整数 | 样式段起始字符下标。 |
取样式段长度 |
整数 取样式段长度(整数 序号) |
整数 | 样式段长度。 |
取样式段粗体 |
整数 取样式段粗体(整数 序号) |
整数 | 样式段粗体标志。 |
取样式段斜体 |
整数 取样式段斜体(整数 序号) |
整数 | 样式段斜体标志。 |
取样式段下划线 |
整数 取样式段下划线(整数 序号) |
整数 | 样式段下划线标志。 |
取样式段字号 |
整数 取样式段字号(整数 序号) |
整数 | 样式段字号(0=继承)。 |
取样式段前景色 |
文本 取样式段前景色(整数 序号) |
文本 | 样式段前景色(如 #RRGGBB;空=继承)。 |
取样式段背景色 |
文本 取样式段背景色(整数 序号) |
文本 | 样式段背景色;空=无。 |
取导出片段 |
文本 取导出片段(整数 起行, 整数 止行, [整数 格式=0]) |
文本 | 按硬行导出片段。格式 0=纯文本,1=简易 HTML(转义+br)。… |
取虚拟窗口起行 |
整数 取虚拟窗口起行() |
整数 | 虚拟模式下当前窗口起始硬行(1 起);非虚拟或未开窗返回 0。仅查询… |
取虚拟窗口行数 |
整数 取虚拟窗口行数() |
整数 | 虚拟模式窗口缓冲行数;非虚拟返回 0。 |
是否虚拟脏 |
逻辑 是否虚拟脏() |
逻辑 | 虚拟窗口缓冲是否有未刷回磁盘的修改。 |
取虚拟源路径 |
文本 取虚拟源路径() |
文本 | 虚拟模式载入源路径;非虚拟返回空。 |
取IME客户区X |
整数 取IME客户区X() |
整数 | 焦点在本控件时返回插入符客户区 X(像素);否则 -1。供用户自绘候… |
取IME客户区Y |
整数 取IME客户区Y() |
整数 | 焦点在本控件时返回插入符客户区 Y(像素);否则 -1。 |
置显示空白 |
无 置显示空白(逻辑 是否) |
无 | 叠加显示空格/制表/换行标记(淡色圆点、箭头、拐角)。仅可视切片;不… |
取显示空白 |
逻辑 取显示空白() |
逻辑 | 返回是否正在显示空白标记。 |
开始编辑 |
整数 开始编辑() |
整数 | 虚拟窗口模式下尝试将全文载入内存;成功则退出虚拟模式。失败(超最大长… |
是否虚拟模式 |
逻辑 是否虚拟模式() |
逻辑 | 当前是否处于超大文件虚拟窗口模式(不全量进内存)。 |
取文件字节数 |
整数 取文件字节数() |
整数 | 虚拟模式下返回源文件字节大小;非虚拟模式返回 -1。 |
取文件编码 |
整数 取文件编码() |
整数 | 返回载入文件时识别/使用的代码页(如 65001=UTF-8)。 |
置选区样式 |
无 置选区样式([逻辑 粗体=假], [逻辑 斜体=假], [逻辑 下划线=假], [文本 前景色=""], [文本 背景色=""], [整数 字号=0]) |
无 | 为当前选区应用字符样式(整体替换该段样式)。无选区时仍记住样式,后续… |
置选区加粗 |
无 置选区加粗([逻辑 是否=真]) |
无 | 仅合并选区粗体标志(保留其它样式);无选区时影响后续键入。 |
置选区斜体 |
无 置选区斜体([逻辑 是否=真]) |
无 | 仅合并选区斜体标志;无选区时影响后续键入。 |
置选区下划线 |
无 置选区下划线([逻辑 是否=真]) |
无 | 仅合并选区下划线标志;无选区时影响后续键入。 |
置选区前景色 |
无 置选区前景色(文本 颜色) |
无 | 仅合并选区文字颜色(如 #FF5555);无选区时影响后续键入。 |
置选区背景色 |
无 置选区背景色(文本 颜色) |
无 | 仅合并选区背景高亮色;无选区时影响后续键入。 |
取纯文本 |
文本 取纯文本() |
文本 | 返回当前纯文本内容(与「文本」属性一致)。 |
取富文本 |
文本 取富文本() |
文本 | 返回简易 HTML(含选区样式对应的 span);无样式时为转义后的… |
置富文本 |
无 置富文本(文本 内容) |
无 | 按简易 HTML 解析并置入内容与样式。 |
置预览格式 |
无 置预览格式(整数 格式) |
无 | 0=纯文本编辑;1=HTML 只读预览;2=Markdown 只读预览。 |
取预览格式 |
整数 取预览格式() |
整数 | 返回当前预览格式(0/1/2)。 |
置边框 |
无 置边框([逻辑 显示边框=真], [整数 边框大小=1], [文本 边框颜色], [整数 描边样式]) |
无 | 描边 0实…4双点划 |
移动 |
无 移动(小数 左边, 小数 顶边, [小数 宽度], [小数 高度]) |
无 | 可选同时改宽高 |
置焦点 |
无 置焦点() |
无 | |
刷新 |
无 刷新() |
无 | |
显示 / 隐藏 |
无 显示() / 无 隐藏() |
无 | 等同 可见 = 真/假 |
置字体 |
逻辑 置字体(字体类 字体) |
逻辑 | 见 painter.md |
超级文本框1.载入文件("a.txt", #编码_UTF8)
整数 n = 超级文本框1.查找("关键字", 0, 假, 假, 假)
超级文本框1.跳到行(10)
事件
在代码中写 函数 控件名.事件名(...) 处理。专用:
| 事件 | 参数 |
|---|---|
内容改变 / 文本改变 |
文本 当前文本 |
选区改变 / 光标移动 |
无参(内再取选区/行列) |
文件已载入 |
文本 路径 |
虚拟模式改变 / 替换进度 / 滚动 / 行号栏点击 / 书签变化 / 已修改改变 |
整数 当前值 |
其余鼠标/焦点事件见下表。
| 事件 | 参数 | 说明 |
|---|---|---|
单击 |
整数 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=虚拟,0=否。 |
替换进度 |
整数 当前值 | 全部替换进行中周期性触发;当前值=已替换次数。可在处理函数中改标签,运行时会泵少量消息。 |
滚动 |
整数 当前值 | 垂直滚动位置变化;当前值=滚动像素(取整)。可用「取滚动位置 / 取首可视行」。 |
行号栏点击 |
整数 当前值 | 点击行号栏时触发;当前值=行号(从 1 起)。可在此切换书签等,控件不写死行为。 |
书签变化 |
整数 当前值 | 加入/清除书签后触发;当前值=剩余书签数量。 |
已修改改变 |
整数 当前值 | 脏标记变化;当前值 1=已修改,0=未修改。载入/保存成功会清零。 |
函数 超级文本框1.单击 (整数 X, 整数 Y) {
// …
}
YSS 样式
以下为样式表(.yss)键与示例;写样式前请先读窗体 XML 取控件 名称 与 typeId,见 window-xml.md。
布局与子选择器
定位: 大文本 / 日志 / 类编辑器控件(始终多行、自绘)。普通表单输入请用「文本框 / 多行文本框」。
伪状态与映射
伪状态: :hover :focus :disabled
与多行文本框对照
| 超级文本框 | 多行文本框 | |
|---|---|---|
| 场景 | 日志、源码、大文件浏览与编辑 | 表单备注、短多行输入 |
| 大文件 | mmap / 虚拟窗口;可保存;可尝试物化后编辑 | 适合中等以内全文缓冲 |
| 行号 | 支持「显示行号」;宽度按位数自适应;可用「字体类」+「置行号字体」 | 无 |
| 富文本 | 选区样式 + HTML/Markdown 只读预览 | 无(纯文本编辑) |
属性说明(逐键)
外壳与 textbox 类似。显示行号、只读、最大长度等为设计器 / 代码属性,不是 YSS 键。
伪状态: :hover · :focus · :disabled
文字 · 底板 · 描边
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
color |
正文文字色 | 颜色,如 #D4D4D4 |
|
background-color / background |
编辑区底色 | 颜色 | |
transparent-background |
不铺底板 | true/false |
|
border-color / border-width / border-radius / show-border |
描边 | 同文本框 | |
font-size / font-family / font-bold / font-italic |
字体 | 日志常用 "Consolas" |
|
text-align |
水平对齐 | left / center / right |
|
opacity |
整体不透明度 | 0–100 |
|
padding / padding-* |
内边距 | 简写或单侧像素 | |
margin / margin-* |
外边距 | 同 padding |
折行 · 占位 · 滚动条
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
word-wrap |
软折行 | true/false |
与 置自动折行 同一开关;大文件/虚拟模式按视觉行滚动(宽度估算) |
placeholder / placeholder-text |
空内容占位 | 如 "在此输入日志…" |
|
placeholder-color |
占位字色 | 颜色 | |
scrollbar-width |
滚动条宽 | 约 6–32 |
|
scrollbar-thumb-color |
滑块色 | 颜色 | |
scrollbar-track-color |
轨道色 | 颜色 | |
scrollbar-color |
滑块+轨道简写 | 滑块色 轨道色,如 #787878 #282828 |
伪态
| 属性 | 作用 | 说明与注意 |
|---|---|---|
hover-color / hover-background-color |
悬停字/底 | 亦可 :hover { … } |
focus-border-color / focus-background-color / focus-glow-color |
焦点边框/底/光晕 | 亦可 :focus { … } |
disabled-color / disabled-background-color |
禁用字/底 | 亦可 :disabled { … } |
使用示例
深色日志框:
supertextbox#日志框 {
color: #D4D4D4;
background-color: #1E1E1E;
border-color: #3C3C3C;
border-width: 1;
border-radius: 4;
font-size: 13;
word-wrap: true;
placeholder: "在此输出日志…";
placeholder-color: #666666;
}
焦点高亮:
supertextbox#日志框:focus {
focus-border-color: #007ACC;
focus-glow-color: #007ACC;
}
滚动条配色:
supertextbox#源码 {
word-wrap: false;
scrollbar-width: 10;
scrollbar-color: #787878 #282828;
}
完整示例
supertextbox#日志框 {
color: #D4D4D4;
background-color: #1E1E1E;
border-color: #3C3C3C;
border-width: 1;
border-radius: 4;
show-border: true;
font-size: 13;
font-family: "Consolas";
word-wrap: true;
placeholder: "在此输出日志…";
placeholder-color: #666666;
scrollbar-width: 10;
scrollbar-thumb-color: #787878;
scrollbar-track-color: #282828;
}
supertextbox#日志框:focus {
focus-border-color: #007ACC;
focus-background-color: #1A1A1A;
focus-glow-color: #007ACC;
}
supertextbox#日志框:disabled {
disabled-color: #888888;
disabled-background-color: #2A2A2A;
}