OnToolChangeTable Method of the IImageViewerEvents Interface

This method is implemented on the client-side. It is called by ABBYY FineReader Engine before changing a table block that has been modified with the help of a tool of Image Viewer:

See the description of the Image Viewer Commands to know how these tools can be selected.

It delivers to the client the index of the table block which is going to be changed, and the position and type of the new or deleted separator. With the help of this method it is possible to cancel the operation.



HRESULT OnToolChangeTable(
  int           BlockIndex,
  int           Position,
  VARIANT_BOOL  IsVerticalSeparator,
  VARIANT_BOOL  DeleteSeparator,


void OnToolChangeTable(
  int      BlockIndex,
  int      Position,
  bool     IsVerticalSeparator,
  bool     deleteSeparator,
  out bool Cancel

Visual Basic .NET

Sub OnToolChangeTable( _
  BlockIndex As Integer, _
  Position As Integer, _
  IsVerticalSeparator As Boolean, _
  DeleteSeparator As Integer, _
  ByRef Cancel As Boolean _


[in] Contains the index of the table block that is going to be modified. The index is in the ILayout::VisualBlocks collection.
[in] Contains the position of the separator in the table. The position of the separator is its coordinate in a base grid.
[in] Specifies whether the separator is vertical or horizontal.
[in] Specifies whether the separator is going to be deleted or added.
[out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, the separator will not be added (or deleted).

Return values

[C++ only] If this method returns a value other than S_OK, it indicates that an error occurred on the client-side, and in this case the value of the Cancel parameter is not taken into account.


  • By the base grid here we assume the grid formed by table borders and separators. Each vertical separator increments the horizontal coordinate by one, and each horizontal separator increments the vertical coordinate by one. Coordinate axes are oriented from left to right and from top to bottom.
  • The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).

See also


24.03.2023 8:51:52

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.