> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IZoomViewerEvents インターフェイスの OnToolAddBlock メソッド

> Windows 上の ABBYY FineReader Engine Visual Components における IZoomViewerEvents インターフェイスの OnToolAddBlock メソッド — このメソッドはクライアント側で実装されます。

このメソッドはクライアント側で実装されます。[Zoom Viewer](/ja/fine-reader/engine/visual-components-reference/zoomviewer) で [Image Viewer](/ja/fine-reader/engine/visual-components-reference/imageviewer) の次のいずれかのツールを使って描画した新しいブロックを追加する前に、ABBYY FineReader Engine によって呼び出されます。

* 認識領域を描画 ([MI\_ChooseTool\_DrawRecognitionArea](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawrecognitionarea))
* テキスト領域を描画 ([MI\_ChooseTool\_DrawTextBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawtextblock))
* 表領域を描画 ([MI\_ChooseTool\_DrawTableBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawtableblock))
* 画像領域を描画 ([MI\_ChooseTool\_DrawPictureBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawpictureblock))
* 背景画像領域を描画 ([MI\_ChooseTool\_DrawBackgroundPictureBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawbackgroundpictureblock))
* バーコード領域を描画 ([MI\_ChooseTool\_DrawBarcodeBlock](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawbarcodeblock))

これらのツールの選択方法については、[Image Viewer Commands](/ja/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands) の説明を参照してください。

このメソッドは、描画されたブロックに関する情報 (種類と領域) をクライアントに渡します。また、このメソッドを使って操作をキャンセルすることもできます。

<div id="syntax">
  ## 構文
</div>

<div id="c">
  ### C++
</div>

```cpp theme={null}
HRESULT OnToolAddBlock(
  BlockTypeEnum  Type,
  IFRRectangle*  BlockRect,
  VARIANT_BOOL** Cancel
);
```

### C\#

```csharp theme={null}
void OnToolAddBlock(
  BlockTypeEnum Type,
  IFRRectangle   BlockRect,
  out bool      Cancel
);
```

<div id="visual-basic-net">
  ### Visual Basic .NET
</div>

```vb theme={null}
Sub OnToolAddBlock( _
  Type As BlockTypeEnum, _
  BlockRect As IFRRectangle, _
  ByRef Cancel As Boolean _
)
```

<div id="parameters">
  ## パラメーター
</div>

Type

\[in] ブロックの種類を指定します。[BlockTypeEnum](/ja/fine-reader/engine/api-reference/enumerations/blocktypeenum) 定数の説明を参照してください。

BlockRect

\[in] ブロックの座標をピクセル単位で指定します。座標は [FRRectangle](/ja/fine-reader/engine/api-reference/supplementary-objects-and-methods/frrectangle) オブジェクトで表されます。これらの座標は文書画像を基準とします。

Cancel

\[out] 処理を中止することを示すには、この変数を TRUE に設定します。この場合、ブロックは作成されません。

<div id="return-values">
  ## 戻り値
</div>

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

<div id="remarks">
  ## 注記
</div>

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

<div id="see-also">
  ## 関連項目
</div>

[IZoomViewerEvents](/ja/fine-reader/engine/visual-components-reference/izoomviewerevents)
