> ## 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.

# Método OnToolAddBlock de la interfaz IZoomViewerEvents

> Método OnToolAddBlock de la interfaz IZoomViewerEvents en ABBYY FineReader Engine Visual Components en Windows — Este método se implementa del lado del cliente.

Este método se implementa del lado del cliente. ABBYY FineReader Engine lo llama antes de añadir un nuevo bloque dibujado en [Zoom Viewer](/es/fine-reader/engine/visual-components-reference/zoomviewer) mediante una de las siguientes herramientas de [Image Viewer](/es/fine-reader/engine/visual-components-reference/imageviewer):

* Dibujar área de reconocimiento ([MI\_ChooseTool\_DrawRecognitionArea](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawrecognitionarea))
* Dibujar área de texto ([MI\_ChooseTool\_DrawTextBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawtextblock))
* Dibujar área de tabla ([MI\_ChooseTool\_DrawTableBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawtableblock))
* Dibujar área de imagen ([MI\_ChooseTool\_DrawPictureBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawpictureblock))
* Dibujar área de imagen de fondo ([MI\_ChooseTool\_DrawBackgroundPictureBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawbackgroundpictureblock))
* Dibujar área de código de barras ([MI\_ChooseTool\_DrawBarcodeBlock](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_drawbarcodeblock))

Consulte la descripción de [Image Viewer Commands](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands) para saber cómo seleccionar estas herramientas.

Proporciona al cliente información sobre el bloque dibujado: su tipo y su región. Con este método también es posible cancelar la operación.

<div id="syntax">
  ## Sintaxis
</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">
  ## Parámetros
</div>

Type

\[in] Contiene el tipo del bloque. Consulte la descripción de las constantes de [BlockTypeEnum](/es/fine-reader/engine/api-reference/enumerations/blocktypeenum).

BlockRect

\[in] Contiene las coordenadas del bloque en píxeles. Las coordenadas se representan mediante el objeto [FRRectangle](/es/fine-reader/engine/api-reference/supplementary-objects-and-methods/frrectangle). Las coordenadas son relativas a la imagen del documento.

Cancel

\[out] Puede establecer esta variable en TRUE para indicar que el proceso debe interrumpirse. En este caso, no se creará el bloque.

<div id="return-values">
  ## Valores de retorno
</div>

\[Solo para C++] Si este método devuelve un valor distinto de S\_OK, significa que se produjo un error en el cliente y, en ese caso, no se tiene en cuenta el valor del parámetro Cancel.

<div id="remarks">
  ## Observaciones
</div>

La implementación cliente de este método debe garantizar que todas las excepciones que se produzcan dentro del método se capturen y gestionen, y que no se propaguen fuera de él. La propagación de una excepción fuera del método puede dar lugar a resultados imprevisibles (como la finalización del programa).

<div id="see-also">
  ## Consulte también
</div>

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