选择器:
pager· 设计器组件: 分页 · 按名称:pager#名称或#名称
支持库: 组件类库 → 分页类 · 补全:fy/pager/分页
硬约束与叠画
- 控件名来自窗口 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 起) |
总条数 |
整数 | 读写 | 数据总条数 |
每页条数 |
整数 | 读写 | 每页显示条数 |
显示页码数 |
整数 | 读写 | 中间连续显示的页码按钮数 |
功能样式 |
文本 | 读写 | 扁平/描边/胶囊/极简/块状(功能样式,非 YSS) |
显示首页末页 |
逻辑 | 读写 | 真=显示「首页/末页」按钮;也可用方法置显示首末 |
显示跳转 |
逻辑 | 读写 | 真=显示页码跳转输入;也可用方法置显示跳转 |
GO位置 |
文本 | 读写 | 隐藏/输入框右/输入框左;也可用方法置GO位置 |
跳转框宽度 |
整数 | 读写 | 像素;0=按按钮高度自动 |
省略页码 |
逻辑 | 读写 | 真=首尾+省略号页码;假=连续滑动窗 |
显示每页条数 |
逻辑 | 读写 | 真=显示「N条」下拉;位标志存 paddingR bit3 |
每页条数选项 |
文本 | 读写 | 换行分隔,如 10\ 20\ 50\ 100 |
显示分隔线 |
逻辑 | 读写 | 真=导航/每页条数/跳转之间画竖线 |
当前页发光 |
逻辑 | 读写 | 真=当前页按钮外发光 |
发光色 |
文本 | 读写 | 如 #007ACC |
发光大小 |
整数 | 读写 | 像素 |
文字色 |
文本 | 读写 | 如 #E8E8E8 |
背景色 |
文本 | 读写 | 如 #252526 |
圆角 |
整数 | 读写 | 像素 |
显示边框 |
逻辑 | 读写 | 真=显示边框 |
边框大小 |
整数 | 读写 | 像素 |
边框颜色 |
文本 | 读写 | 如 #3F3F46 |
方法
组件类库方法(调用须写括号)。共用:移动 / 置焦点 / 刷新 / 显示 / 隐藏 / 置字体 等。
| 方法 | 签名 | 说明 |
|---|---|---|
置边框 |
置边框([显示边框], [边框大小], [边框颜色], [描边样式]) |
设置当前%1边框:是否显示、宽度、颜色、样式。 |
置圆角 |
置圆角([半径]) |
设置当前组件圆角半径(像素,0=直角)。 |
移动 |
移动(左边, 顶边, [宽度], [高度]) |
移动当前组件位置;可选同时改宽高。 |
置焦点 |
置焦点() |
将输入焦点设到当前组件。 |
刷新 |
刷新() |
立即重绘当前组件所在窗口。 |
显示 |
显示() |
显示当前组件(等同 可见 = 真)。 |
隐藏 |
隐藏() |
隐藏当前组件(等同 可见 = 假)。 |
置字体 |
置字体(字体) |
将「字体类」应用到本组件(字体族/字号/粗体/倾斜/可选颜色)。 |
置当前页 |
置当前页(页索引) |
设置当前页(从 0 起)。越界会夹紧到有效范围。 |
取当前页 |
取当前页() |
返回当前页索引(从 0 起)。 |
取页数 |
取页数() |
返回总页数(由总条数与每页条数计算,至少为 1)。 |
置总条数 |
置总条数(条数) |
设置数据总条数;页数会随之重算,当前页必要时夹紧。 |
取总条数 |
取总条数() |
返回数据总条数。 |
置每页条数 |
置每页条数(条数) |
设置每页显示条数(至少 1)。 |
取每页条数 |
取每页条数() |
返回每页条数。 |
置显示页码数 |
置显示页码数(个数) |
设置中间连续显示的页码按钮数量(至少 1)。 |
取显示页码数 |
取显示页码数() |
返回中间显示的页码按钮数。 |
置上一页 |
置上一页() |
当前页减一。 |
置下一页 |
置下一页() |
当前页加一。 |
置首页 |
置首页() |
跳到第一页。 |
置尾页 |
置尾页() |
跳到最后一页。 |
置显示首末 |
置显示首末(显示) |
是否显示首页/末页导航按钮(默认符号 « »,可用置首页文本/置末页文本改写)。 |
取显示首末 |
取显示首末() |
返回是否显示首页/末页按钮。 |
置显示跳转 |
置显示跳转(显示) |
是否显示跳转标签与页码输入框。 |
取显示跳转 |
取显示跳转() |
返回是否显示跳转。 |
置显示当前页文本 |
置显示当前页文本(显示) |
是否在分页右侧显示「当前页」信息文本(新建默认开;文案默认「第{page}页」)。 |
取显示当前页文本 |
取显示当前页文本() |
返回是否显示当前页信息文本。 |
置显示总页码文本 |
置显示总页码文本(显示) |
是否显示「总页数」信息文本(默认「共{pages}页」)。 |
取显示总页码文本 |
取显示总页码文本() |
返回是否显示总页码信息文本。 |
置显示总数量文本 |
置显示总数量文本(显示) |
是否显示「总条数」信息文本(新建默认开;文案默认「共{total}条」)。 |
取显示总数量文本 |
取显示总数量文本() |
返回是否显示总数量信息文本。 |
置首页文本 |
置首页文本(文本) |
自定义首页按钮显示文本;传空文本则恢复默认「«」。 |
置上一页文本 |
置上一页文本(文本) |
自定义上一页按钮文本;空则恢复默认「‹」。 |
置下一页文本 |
置下一页文本(文本) |
自定义下一页按钮文本;空则恢复默认「›」。 |
置末页文本 |
置末页文本(文本) |
自定义末页按钮文本;空则恢复默认「»」。 |
置跳转文本 |
置跳转文本(文本) |
自定义跳转标签文本;空则恢复默认「跳转」。 |
置当前页文本 |
置当前页文本(文本) |
设置「当前页」信息区的显示模板。空文本=默认「第{page}页」。须先 置显示当前页文本(真)。 |
置总页码文本 |
置总页码文本(文本) |
设置「总页数」信息区模板。空文本=默认「共{pages}页」。须先 置显示总页码文本(真)。 |
置总数量文本 |
置总数量文本(文本) |
设置「总条数」信息区模板。空文本=默认「共{total}条」。须先 置显示总数量文本(真)。 |
置GO位置 |
置GO位置(位置) |
设置 GO 按钮位置:0=隐藏,1=输入框右,2=输入框左。 |
取GO位置 |
取GO位置() |
返回 GO 位置(0隐藏 1右 2左)。 |
置跳转框宽度 |
置跳转框宽度(像素) |
跳转输入框宽度(像素)。0=按按钮高度自动。 |
取跳转框宽度 |
取跳转框宽度() |
返回跳转框宽度设置(0=自动)。 |
置省略页码 |
置省略页码(显示) |
真=首尾页+省略号;假=连续滑动窗。 |
取省略页码 |
取省略页码() |
返回是否启用省略页码。 |
置显示每页条数 |
置显示每页条数(显示) |
是否显示「N条」每页条数下拉。 |
取显示每页条数 |
取显示每页条数() |
返回是否显示每页条数下拉。 |
置每页条数选项 |
置每页条数选项(选项) |
设置下拉选项,换行或逗号分隔,如 “10\ 20\ 50\ 100”。 |
取每页条数选项 |
取每页条数选项() |
返回每页条数选项文本。 |
置显示分隔线 |
置显示分隔线(显示) |
是否在导航/每页条数/跳转段之间画竖线。 |
取显示分隔线 |
取显示分隔线() |
返回是否显示段间分隔线。 |
置GO文本 |
置GO文本(文本) |
设置 GO 按钮文案;空=默认 GO。 |
分页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, 整数 组合键 | 某键被放开。 |
当前页改变 |
整数 当前值 | 当前页发生变化时触发(点页码/上一页下一页/跳转或程序置页)。参数:整数 当前页(从 0 起)。 |
每页条数改变 |
整数 当前值 | 每页条数下拉或程序置每页条数后触发。参数:整数 每页条数。 |
函数 分页1.单击 (整数 X, 整数 Y) {
// …
}
YSS 样式
以下为样式表(.yss)键与示例;写样式前请先读窗体 XML 取控件 名称 与 typeId,见 window-xml.md。
布局与子选择器
页码导航条:上一页 / 页码(可省略号)/ 下一页,可选每页条数下拉、跳转输入框 + GO、段间分隔线、信息文本。功能样式(扁平/描边/胶囊/极简/块状)走属性面板「功能样式」,不是 YSS。
设计器属性(面板)(面板)
| 属性 | 字段复用 | 说明 |
|---|---|---|
| 当前页 | imageOpacity |
从 0 起的页索引 |
| 总条数 | paddingL |
数据总条数(≥0) |
| 每页条数 | paddingT |
至少 1;总页数 = ceil(总条数/每页条数) |
| 显示页码数 | paddingB |
中间页码窗口宽度(省略模式下为中段按钮数) |
| 功能样式 | contentMode |
0扁平 1描边 2胶囊 3极简 4块状 |
| 显示首页末页 | wordWrap |
省略页码关闭时显示 « »;省略开启时首尾页已在序列中 |
| 显示跳转 | textEllipsis |
跳转输入框(及可选 GO) |
| GO位置 | iconPos |
0隐藏 · 1输入框右(默认)· 2输入框左 |
| 跳转框宽度 | imageSpacing |
像素;0=按按钮高度自动(约 bw*2.4) |
| 省略页码 | ellipsisMode |
真=1 … 14 15 16 … 30;假=连续滑动窗 |
| 显示每页条数 | paddingR bit3 |
真=显示「N条」下拉 |
| 每页条数选项 | comboItems |
换行分隔,如 10\n20\n50\n100 |
| 显示分隔线 | allowCopy |
真=导航 ∥ 每页条数 ∥ 跳转 之间画竖线 |
| 当前页发光 | outerGlow* |
当前页按钮外发光(也可用 YSS outer-glow*) |
| 文字色 / 背景色 / 圆角 / 边框… | 常规 | 控件外壳 |
默认外观: 新建为透明底板、跳转开、GO=右、省略页码开、每页条数下拉开、分隔线开。旧工程未写新属性时:GO 隐藏、省略/每页条数/分隔线关,行为与旧版一致。旧灰底 #2D2D30 打开时会自动改为透明。
信息文本: 位标志在 paddingR bit0–2(当前页/总页码/总数量);自定义模板不进属性面板,用代码方法设置。设计器默认预览「第N页」「共N条」。
布局(运行时)
[‹] [1] … [14] [15] [16] … [30] [›] | [10条▾] | [输入] [GO] 第15页 共300条
功能样式只影响按钮槽外形;结构由上表属性/方法控制。
属性说明(逐键)
整控件 :hover / :pressed 不会给整条分页铺高亮底;作用在页码/导航按钮槽。功能样式(扁平/描边/胶囊等)走属性面板,不是 YSS 键。
跳转框宽度请用属性/方法 置跳转框宽度,勿占用其它控件的 button-min-width。
伪态映射( 必读)
| 写法 | 映射字段 | 作用 |
|---|---|---|
pager:hover { background-color; color } |
hoverBack / hoverFore |
非当前页悬停 |
pager:pressed { … } |
pressedBack / pressedFore |
当前页底/字色 |
pager:item:hover / :item:selected |
同上 | 与列表项写法一致 |
外壳与当前页发光
| 属性 | 作用 | 取值 / 范围 | 说明与注意 |
|---|---|---|---|
color |
默认页码/导航字色 | 颜色 | |
background-color / background |
整条底板 | 颜色 | 新建默认透明;需底板时关透明 |
transparent-background |
不铺整条底 | true/false |
默认真 |
border-color / border-width / border-radius / show-border |
外壳描边 | 同按钮;圆角常与功能样式配合 | |
outer-glow |
当前页外发光开关 | true/false |
映射 outerGlow*;亦可设计器「当前页发光」 |
outer-glow-color |
发光色 | 颜色,如 #A78BFA |
|
outer-glow-size |
发光半径 | 0–64 像素 |
|
hover-background-color / hover-color |
非当前页悬停底/字 | 亦可 :hover { … } |
|
pressed-background-color / pressed-color |
当前页底/字 | 亦可 :pressed { … } |
紫描边(参考图上排)
pager#分页1 {
color: #E8E8E8;
transparent-background: true;
border-radius: 8;
outer-glow: true;
outer-glow-color: #A78BFA;
outer-glow-size: 10;
}
pager#分页1:hover {
background-color: #4C1D95;
color: #FFFFFF;
}
pager#分页1:pressed {
background-color: #7C3AED;
color: #FFFFFF;
}
设计器里把「功能样式」设为 描边。
青胶囊(参考图下排)
pager#分页2 {
color: #F0FDFA;
transparent-background: true;
border-radius: 20;
outer-glow: true;
outer-glow-color: #2DD4BF;
outer-glow-size: 10;
}
pager#分页2:hover {
background-color: #0F766E;
color: #FFFFFF;
}
pager#分页2:pressed {
background-color: #14B8A6;
color: #FFFFFF;
}
「功能样式」设为 胶囊。
需要整条底板时再关透明并设背景:
pager#分页1 {
transparent-background: false;
background-color: #252526;
border-color: #3F3F46;
border-width: 1;
show-border: true;
}