跳轉到主要內容
此方法在用戶端實作。ABBYY FineReader Engine 會在變更使用 Image Viewer 下列任一工具修改過的區塊區域之前呼叫此方法: 請參閱 Image Viewer Commands 的說明,以了解如何選取這些工具。 此方法會將區域已變更的區塊資訊,以及結果區塊的新區域傳遞給用戶端。系統會針對每個結果區塊呼叫一次此方法。例如,若兩個區域合併為一個區塊,此方法只會呼叫一次。若使用工具剪下兩個區塊的區域,此方法會呼叫兩次。若使用工具刪除某個區塊,則不會呼叫此方法。您也可以使用此方法取消該操作。

語法

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 物件表示。只有在多個區塊合併成一個區塊時,此集合才會包含一個以上的元素。 NewRegion [in] 包含結果區塊的新區域,以 Region 物件表示。 Cancel [out] 您可以將此變數設為 TRUE,表示應終止此程序。在此情況下,區塊的區域將不會變更。

回傳值

[僅限 C++] 如果此 方法 回傳的值不是 S_OK,則表示用戶端發生了錯誤;在此情況下,Cancel 參數的值不會納入考量。

備註

此 方法 的用戶端實作必須確保,方法 內部拋出的所有例外都會被攔截並處理,且不會有任何例外傳播到 方法 外部。若例外傳播到 方法 外部,可能會導致不可預期的結果 (例如程式終止) 。

另請參閱

IImageViewerEvents