跳转到主要内容
此方法在客户端实现。当在 Image ViewerZoom ViewerText EditorText ValidatorDocument Viewer 中通过鼠标或键盘移动滚动框时,会由 ABBYY FineReader Engine 调用。 该方法会向客户端传递滚动条代码、滚动框的位置以及滚动的行数。还可以借助此方法取消该操作。

语法

C++

HRESULT OnScroll(
  int           HorzScrollBarCode,
  int           VertScrollBarCode,
  int           Position,
  int           Count,
  VARIANT_BOOL* Cancel
);

C#

void OnScroll(
  int      HorzScrollBarCode,
  int      VertScrollBarCode,
  int      Position,
  int      Count,
  out bool Cancel
);

Visual Basic .NET

Sub OnScroll( _
  HorzScrollBarCode As Integer, _
  VertScrollBarCode As Integer, _
  Position As Integer, _
  Count As Integer, _
  ByRef Cancel As Boolean _
)

参数

HorzScrollBarCode [in] 指定一个滚动条代码,用于指示用户的滚动请求。此参数可以是以下值之一:
  • SB_LEFT (6) — 滚动到最左侧。
  • SB_ENDSCROLL (8) — 结束滚动。
  • SB_LINELEFT (0) — 向左滚动。
  • SB_LINERIGHT (1) — 向右滚动。
  • SB_PAGELEFT (2) — 向左滚动一页。
  • SB_PAGERIGHT (3) — 向右滚动一页。
  • SB_RIGHT (7) — 滚动到最右侧。
  • SB_THUMBPOSITION (4) — 滚动到绝对位置。当前位置由 Position 参数指定。
  • SB_THUMBTRACK (5) — 将滚动框拖动到指定位置。当前位置由 Position 参数指定。
这些常量定义在 Winuser.h 中。如果没有发生水平滚动,则该参数为 -1。 VertScrollBarCode [in] 指定一个滚动条代码,用于指示用户的滚动请求。此参数可以是以下值之一:
  • SB_BOTTOM (7) — 滚动到底部。
  • SB_ENDSCROLL (8) — 结束滚动。
  • SB_LINEDOWN (1) — 向下滚动一行。
  • SB_LINEUP (0) — 向上滚动一行。
  • SB_PAGEDOWN (3) — 向下滚动一页。
  • SB_PAGEUP (2) — 向上滚动一页。
  • SB_THUMBPOSITION (4) — 滚动到绝对位置。当前位置由 Position 参数提供。
  • SB_THUMBTRACK (5) — 将滚动框拖动到指定位置。当前位置由 Position 参数提供。
  • SB_TOP (6) — 滚动到顶部。
这些常量定义在 Winuser.h 中。如果没有发生垂直滚动,则该参数为 -1。 Position [in] 如果滚动条代码为 SB_THUMBPOSITION 或 SB_THUMBTRACK,则指定滚动框的位置;否则不使用。 Count [in] 如果滚动是通过鼠标滚轮进行的,则包含滚动的行数。 Cancel [out] 你可以将此变量设置为 TRUE,以指示应终止此过程。

返回值

[仅限 C++] 如果此方法返回的值不是 S_OK,则表示客户端发生了错误;在这种情况下,将忽略 Cancel 参数的值。

备注

此方法的客户端实现必须确保捕获并处理方法内部抛出的所有异常,且不得让任何异常传播到方法外部。异常一旦传播到方法外部,可能会导致不可预测的结果 (例如程序终止) 。

另请参见

IInputEvents