> ## 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 OnToolChangeTable de la interfaz IImageViewerEvents

> Método OnToolChangeTable de la interfaz IImageViewerEvents en ABBYY FineReader Engine Visual Components para 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 cambiar un bloque de la tabla que se ha modificado mediante una herramienta de [Image Viewer](/es/fine-reader/engine/visual-components-reference/imageviewer):

* <img src="https://mintcdn.com/abbyy/i-EfCQVmseNiPQcp/images/fine-reader/engine/tb_vertline.gif?s=0310d84f26192721ab13164545559986" alt="tb_VertLine" width="23" height="22" data-path="images/fine-reader/engine/tb_vertline.gif" /> Agregar separador vertical ([MI\_ChooseTool\_AddVertSeparator](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_addvertseparator))
* <img src="https://mintcdn.com/abbyy/i-EfCQVmseNiPQcp/images/fine-reader/engine/tb_horizontline.gif?s=49d36c57e5067d16666945864c31f102" alt="tb_horizontLine" width="23" height="22" data-path="images/fine-reader/engine/tb_horizontline.gif" /> Agregar separador horizontal ([MI\_ChooseTool\_AddHorizSeparator](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_addhorizseparator))
* <img src="https://mintcdn.com/abbyy/i-EfCQVmseNiPQcp/images/fine-reader/engine/tb_delline.gif?s=f1548dc0be446f4e53efd531e4bc6e15" alt="tb_delLine" width="23" height="22" data-path="images/fine-reader/engine/tb_delline.gif" /> Eliminar separador ([MI\_ChooseTool\_DeleteSeparator](/es/fine-reader/engine/visual-components-reference/imageviewer/image-viewer-commands#mi_choosetool_deleteseparator))

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

Proporciona al cliente el índice del bloque de la tabla que se va a cambiar, así como la posición y el tipo del separador nuevo o eliminado. Este método también permite cancelar la operación.

<div id="syntax">
  ## Sintaxis
</div>

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

```cpp theme={null}
HRESULT OnToolChangeTable(
  int           BlockIndex,
  int           Position,
  VARIANT_BOOL  IsVerticalSeparator,
  VARIANT_BOOL  DeleteSeparator,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnToolChangeTable(
  int      BlockIndex,
  int      Position,
  bool     IsVerticalSeparator,
  bool     deleteSeparator,
  out bool Cancel
);
```

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

```vb theme={null}
Sub OnToolChangeTable( _
  BlockIndex As Integer, _
  Position As Integer, _
  IsVerticalSeparator As Boolean, _
  DeleteSeparator As Integer, _
  ByRef Cancel As Boolean _
)
```

<div id="parameters">
  ## Parámetros
</div>

BlockIndex

\[in] Contiene el índice del bloque de la tabla que se va a modificar. El índice se encuentra en la colección [ILayout::VisualBlocks](/es/fine-reader/engine/api-reference/layout-related-objects/layout#visualblocks).

Position

\[in] Contiene la posición del separador en la tabla. La posición del separador es su coordenada en una cuadrícula base.

IsVerticalSeparator

\[in] Especifica si el separador es vertical u horizontal.

DeleteSeparator

\[in] Especifica si el separador se va a eliminar o a añadir.

Cancel

\[out] Puede establecer esta variable en TRUE para indicar que el proceso debe interrumpirse. En este caso, el separador no se añadirá (o eliminará).

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

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

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

* Aquí, por cuadrícula base nos referimos a la cuadrícula formada por los bordes y separadores de la tabla. Cada separador vertical incrementa en uno la coordenada horizontal, y cada separador horizontal incrementa en uno la coordenada vertical. Los ejes de coordenadas están orientados de izquierda a derecha y de arriba abajo.
* La implementación cliente de este método debe garantizar que todas las excepciones que se produzcan dentro del método se capturen y se gestionen, y que ninguna excepción se propague fuera del método. La propagación de una excepción fuera del método puede dar lugar a resultados impredecibles (como la finalización del programa).

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

[IImageViewerEvents](/es/fine-reader/engine/visual-components-reference/iimageviewerevents)
