메인 콘텐츠로 건너뛰기
이 메서드는 클라이언트 측에서 구현됩니다. Image Viewer, Zoom Viewer, Text Editor, Text Validator 또는 Document 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 Parameter 값은 고려되지 않습니다.

비고

이 메서드의 클라이언트 구현에서는 메서드 내부에서 발생하는 모든 예외를 반드시 포착하고 처리해야 하며, 어떤 예외도 메서드 외부로 전파되지 않도록 해야 합니다. 예외가 메서드 외부로 전파되면 예측할 수 없는 결과(예: 프로그램 종료)가 발생할 수 있습니다.

참고 항목

IInputEvents