跳转到主要内容
此方法在客户端实现。ABBYY FineReader Engine 会在更改通过 Image Viewer 的以下工具之一修改后的块区域之前调用此方法: 有关如何选择这些工具,请参阅 Image Viewer Commands 的说明。 此方法会向客户端提供区域已发生更改的块的信息,以及生成后的块的新区域。该方法会针对每个生成的块调用一次。例如,如果两个区域合并为一个块,则该方法只会调用一次。如果使用某个工具剪切了两个块的区域,则该方法会调用两次。如果使用某个工具删除了一个块,则不会调用该方法。借助此方法,可以取消该操作。

语法

C++

HRESULT OnToolChangeBlockRegion(
  IIntsCollection* BlocksToChange,
  IRegion*         NewRegion,
  VARIANT_BOOL*    Cancel
);

C#

void OnToolChangeBlockRegion(
  IIntsCollection     BlocksToChange,
  IRegion         NewRegion,
  out bool       Cancel
);

Visual Basic .NET

Sub OnToolChangeBlockRegion( _
  BlocksToChange As IIntsCollection, _ _
  NewRegion As IRegion, _
  ByRef Cancel As Boolean _
)

参数

BlocksToChange [in] 包含已更改块的索引,以 IntsCollection 对象的形式表示。只有在多个块合并为一个块时,该集合才会包含多个元素。 NewRegion [in] 包含结果块的新区域,以 Region 对象的形式表示。 Cancel [out] 您可以将此变量设置为 TRUE,以指示应终止该过程。在这种情况下,各块的区域将不会被更改。

返回值

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

备注

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

另请参阅

IImageViewerEvents