极语言官方网站

分页导航——使用说明

分页控件是一个窗口容器,与没有足够的显示区域来显示其所有内容的窗口一起使用。

寻呼控件允许用户滚动到当前不在视图中的窗口区域。

当窗口没有足够的区域显示子窗口时,此控件非常有用。

例如,如果应用程序的工具栏不够宽,无法显示其所有项,则可以将工具栏分配给寻呼控件,

用户将能够向左或向右滚动以访问所有项。 还可以创建垂直滚动的寻呼控件。

分配给寻呼程序控件的窗口称为 包含的窗口。

以下屏幕截图显示了页码控件中包含的工具栏。

寻呼控件以红色显示,以显示控件的哪些区域可见。


创建寻呼控件后,很可能想要为其分配包含的窗口。

如果包含的窗口是子窗口,则应使子窗口成为寻呼控件的子窗口,以便正确计算大小和位置。

然后发送 分页设置窗口 消息将窗口分配给分页控件。

请注意,此消息实际上不会更改包含窗口的父窗口;它只是分配包含的窗口。

如果包含的窗口是公共控件之一,它必须具有 禁止缩放 样式,以防止控件尝试将自身大小调整为页码页控件的大小。


进程寻呼控件通知

至少需要处理 分页滚动尺寸 通知。

如果不处理此通知并输入宽度或高度的值,则不会显示寻呼控件中的滚动箭头。

这是因为寻呼控件使用分页滚动尺寸通知中提供的宽度或高度来确定包含窗口的“理想”大小。

以下示例演示如何处理 分页滚动尺寸 通知案例。

在此示例中,包含的窗口是一个工具栏控件,其中包含未知数量的按钮,大小未知。

该示例演示如何使用 工具总体大小 消息来确定工具栏中所有项的大小。

然后,该示例将所有项的宽度放入传递到通知的 分页滚区类 结构的 宽度 成员中。

判断(消息)
 为 控件事件 公共事件(数据)//调用公共事件这段程序代码,④数据:包含多项事件信息的数据
程序段 公共事件(数据)
	整数 窗口=数据&,参数=.&4,事件=.&8,方向=.&30
	判断(方向)为 1,2,4,8 //向上向下向左向右
	.&42 =20;//修改默认滚动增量为20
	处理窗口(窗口,控件事件,参数,数据)
结束


分页导航——通知消息:

中文名字常量数值英文名称释义
控件释放鼠标-16NM_RELEASEDCAPTURE控件要释放鼠标捕捉
分页开始滚动-901PGN_SCROLL所包含窗口即将被滚动。④数据:分页滚向类 结构
分页滚动尺寸-902PGN_CALCSIZE获得所包含窗口的可滚动尺寸。④数据:分页滚区类 结构
分页热项更改-903PGN_HOTITEMCHANGE通知父窗口突出显示的热项已更改。④数据:分页热项类 结构
发送消息——常数表
分页设置窗口0x1401PGM_SETCHILD设置页码控件的包含窗口。③参数:0;④数据:窗口
分页重算大小0x1402PGM_RECALCSIZE强制控件重新计算包含窗口的大小。③参数:0;④数据:0
分页鼠标转发0x1403PGM_FORWARDMOUSE为页码控件启用或禁用鼠标转发。③参数:是否转发;④数据:0
分页设置背景0x1404PGM_SETBKCOLOR设置页码控件的当前背景色。③参数:0;④数据:颜色
分页获取背景0x1405PGM_GETBKCOLOR获取页码控件的当前背景色。③参数:0;④数据:0
分页设置边框0x1406PGM_SETBORDER设置页码控件的当前边框大小。③参数:0;④数据:像素
分页获取边框0x1407PGM_GETBORDER获取页码控件的当前边框大小。③参数:0;④数据:0
分页设置位置0x1408PGM_SETPOS设置页码控件的当前滚动位置。③参数:0;④数据:位置
分页获取位置0x1409PGM_GETPOS获取页码控件的当前滚动位置。③参数:0;④数据:0
分页设置按钮0x140APGM_SETBUTTONSIZE设置页码控件的当前按钮大小。③参数:0;④数据:像素
分页获取按钮0x140BPGM_GETBUTTONSIZE获取页码控件的当前按钮大小。③参数:0;④数据:0
分页按钮状态0x140CPGM_GETBUTTONSTATE设置页码控件指定按钮的状态。③参数:0;④数据:像素
分页超时行数0x140DPGM_SETSCROLLINFO设置超时值、每超时行数和每行像素。③参数:超时数;④数据:超时行数/每行像素(各2字节)
控件拖放接口 0x2004 PGM_GETDROPTARGET获取页码控件的 拖放目标对象 接口指针。③参数:0;④数据:@接口

分页框——控件样式:

中文名字英文名称长度作用解释
垂直滚动PGS_VERT0创建可垂直滚动的寻呼控件。 如果未指定方向样式,则这是默认方向。 此样式和 PGS_HORZ 样式是互斥的,不能组合使用。
水平滚动PGS_HORZ1创建可水平滚动的寻呼控件。 此样式和 PGS_VERT 样式是互斥的,不能组合使用。
悬停滚动PGS_AUTOSCROLL2当用户将鼠标悬停在其中一个滚动按钮上时,页导航控件将滚动。
支持拖放PGS_DRAGNDROP4包含的窗口可以是拖放目标。 如果某个项从寻呼器外部拖动到其中一个滚动按钮上,则页导航控件将自动滚动。

分页滚向类——通知消息:

中文名字英文名称长度作用解释
分页滚向类NMPGSCROLL46包含并接收页导航控件在滚动包含的窗口时使用的信息。
分页滚向类——成员表
中文英文类型作用解释
通知hdr通知类包含有关通知的信息的类结构。
闭键fwKeys整形发生滚动时关闭的修改键。0 所有修改键均未关闭。1 按下了 Shift 键。2 CONTROL 键已关闭。4 ALT键已关闭。
外框rcParent矩形类包含分页控件的客户端矩形。
方向iDir整数指示滚动的发生方向的值。1向上滚动。2向下滚动。4向左滚动。8向右滚动。
水平iXpos整数包含滚动操作之前包含窗口的水平滚动位置(以像素为单位)。
垂直iYpos整数包含滚动操作之前包含窗口的垂直滚动位置(以像素为单位)。
增量iScroll整数输入时,包含默认滚动增量(以像素为单位)。可以修改此成员以包含不同的滚动增量(正数值)。

分页滚区类——通知消息:

中文名字英文名称长度作用解释
分页滚区类NMPGCALCSIZE24包含并接收分页控件用于计算包含窗口的可滚动区域的信息。
分页滚区类——成员表
中文英文类型作用解释
通知hdr通知类包含有关通知的信息的类结构。
标志dwFlag整数指示所请求的维度的值。1=正在请求可滚动区域的宽度。2=请求可滚动区域的高度。
宽度iWidth整数接收可滚动区域所需的宽度(以像素为单位)。
高度iHeight整数接收可滚动区域所需的高度(以像素为单位)。

分页热项类——通知消息:

中文名字英文名称长度作用解释
分页热项类NMPGHOTITEM24包含与 分页热项更改 通知代码一起使用的信息。
分页热项类——成员表
中文英文类型作用解释
通知hdr通知类包含有关通知的信息的类结构。
旧项idOld整数指定前面突出显示的项的命令标识符。
新项idNew整数指定突出显示项的命令标识符。
原因dwFlags整数包含指示热项更改原因的标志。0x10没有以前的热项。0x20没有新的热项