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

# OnChangeBlockType Method of the IZoomViewerEvents Interface

> OnChangeBlockType method of the IZoomViewerEvents Interface in ABBYY FineReader Engine Visual Components on Windows — This method is implemented on the client-side.

This method is implemented on the client-side. It is called by ABBYY FineReader Engine after the block type has been changed in [Image Viewer](/fine-reader/engine/visual-components-reference/imageviewer) or in [Zoom Viewer](/fine-reader/engine/visual-components-reference/zoomviewer) synchronized with Image Viewer. It allows you to cancel the type change.

The block type can be changed via the block properties toolbar or popup menu, or indirectly, by adding table separators to a block which previously was of non-table type.

## Syntax

### C++

```cpp theme={null}
HRESULT OnChangeBlockType(
  int           Index,
  BlockTypeEnum NewType,
  VARIANT_BOOL* Cancel
);
```

### C\#

```csharp theme={null}
void OnChangeBlockType(
  int           Index,
  BlockTypeEnum NewType,
  out bool      Cancel
);
```

### Visual Basic .NET

```vb theme={null}
Sub OnChangeBlockType( _
  Index As Integer, _
  NewType As BlockTypeEnum, _
  ByRef Cancel As Boolean _
)
```

## Parameters

Index

\[in] Contains the index of the selected block. The index is in the [ILayout::VisualBlocks](/fine-reader/engine/api-reference/layout-related-objects/layout#visualblocks) collection.

NewType

\[in] The new type of the block specified by a [BlockTypeEnum](/fine-reader/engine/api-reference/enumerations/blocktypeenum) enumeration constant.

Cancel

\[out] You may set this variable to TRUE to cancel changing the block type.

## Return values

This method has no specific return values. It returns the [standard return values of ABBYY FineReader Engine functions](/fine-reader/engine/api-reference/return-codes).

## Remarks

The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).

## See also

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