メインコンテンツへスキップ
このメソッドはクライアント側で実装されます。Image Viewer の次のいずれかのツールを使用して変更されたブロック領域を変更する前に、ABBYY FineReader Engine によって呼び出されます。 これらのツールの選択方法については、Image Viewer Commands の説明を参照してください。 このメソッドは、領域が変更されたブロックに関する情報と、変更後のブロックの新しい領域をクライアントに渡します。このメソッドは、変更後の各ブロックについて呼び出されます。たとえば、2 つの領域が 1 つのブロックに結合された場合、このメソッドは 1 回だけ呼び出されます。ツールを使用して 2 つのブロックの領域が切り取られた場合、このメソッドは 2 回呼び出されます。ツールを使用してブロックが削除された場合、このメソッドは呼び出されません。また、このメソッドを使用して操作をキャンセルすることもできます。

構文

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 オブジェクトとして格納します。複数のブロックが 1 つのブロックに結合された場合にのみ、このコレクションには複数の要素が含まれます。 NewRegion [in] 変更後のブロックの新しい領域を Region オブジェクトとして格納します。 Cancel [out] プロセスを中止するには、この変数を TRUE に設定します。この場合、ブロックの領域は変更されません。

戻り値

[C++ のみ] このメソッドが S_OK 以外の値を返した場合は、クライアント側でエラーが発生したことを示します。この場合、Cancel パラメーターの値は考慮されません。

注記

このメソッドのクライアント実装では、メソッド内でスローされるすべての例外を確実にキャッチして処理し、例外がメソッドの外に伝播しないようにする必要があります。例外がメソッドの外に伝播すると、予期しない結果 (プログラムの終了など) を招くおそれがあります。

関連項目

IImageViewerEvents