跳转到主要内容
此方法在客户端实现。ABBYY FineReader Engine 在更改通过 Image Viewer 中某个工具修改过的表格块之前,会调用此方法: 有关如何选择这些工具,请参阅 Image Viewer Commands 的说明。 该方法会向客户端传递将要更改的表格块的索引,以及新增或删除的分隔线的位置和类型。还可以使用此方法取消该操作。

语法

C++

HRESULT OnToolChangeTable(
  int           BlockIndex,
  int           Position,
  VARIANT_BOOL  IsVerticalSeparator,
  VARIANT_BOOL  DeleteSeparator,
  VARIANT_BOOL* Cancel
);

C#

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 _
)

参数

BlockIndex [in] 包含将要修改的表格块索引。该索引位于 ILayout::VisualBlocks 集合中。 Position [in] 包含表格中分隔线的位置。分隔线的位置即其在基准网格中的坐标。 IsVerticalSeparator [in] 指定分隔线是垂直还是水平。 DeleteSeparator [in] 指定是删除还是添加该分隔线。 Cancel [out] 您可以将此变量设置为 TRUE,表示应终止该过程。在这种情况下,将不会添加 (或删除) 该分隔线。

返回值

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

备注

  • 这里的基准网格是指由表格边框和分隔线形成的网格。每条垂直分隔线都会使水平坐标增加 1,每条水平分隔线都会使垂直坐标增加 1。坐标轴方向为从左到右、从上到下。
  • 此方法的客户端实现必须确保方法内部抛出的所有异常都能被捕获并处理,不会传播到方法外部。异常一旦传播到方法外部,可能会导致不可预测的结果 (例如程序终止) 。

另请参见

IImageViewerEvents