Zum Hauptinhalt springen

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.

Visuelle Komponenten sind in FRE for Windows implementiert.
Component Synchronizer ist eine spezielle Komponente, die automatisch auf verschiedene Ereignisse in den visuellen Komponenten reagiert. Sie können mehrere visuelle Komponenten mit dem Synchronizer verbinden, sodass sie wie eine einzige Anwendung zusammenarbeiten. Sie müssen nicht alle Komponenten mit Component Synchronizer verbinden, sondern nur die, die Sie verwenden. So können Sie beispielsweise nur den Image Viewer über die Eigenschaft ImageViewer und den Text Editor über die Eigenschaft TextEditor verbinden. Component Synchronizer hat keine Benutzeroberfläche. Er verwendet keine internen Funktionen der visuellen Komponenten, sondern greift ausschließlich über die COM-API auf die Komponenten zu. Component Synchronizer arbeitet wie unten beschrieben.”

Wenn eine Komponente über die API mit dem Synchronizer verbunden ist

Wenn eine Komponente oder ein Objekt über Folgendes mit dem Component Synchronizer verbunden ist:
In diesem Fall wird die Eigenschaft IComponentSynchronizer::ImageViewer auf das angegebene ImageViewer-Objekt gesetzt, und anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf
True
Die Seite in IComponentSynchronizer::Document mit dem Index IComponentSynchronizer::PageIndex
In diesem Fall wird die Eigenschaft IComponentSynchronizer::ZoomViewer auf das angegebene ZoomViewer-Objekt gesetzt, und anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf
True
Die Seite in IComponentSynchronizer::Document mit dem Index IComponentSynchronizer::PageIndex
In diesem Fall wird die Eigenschaft IComponentSynchronizer::TextEditor auf das angegebene TextEditor-Objekt gesetzt, und anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf
Der Wert der Eigenschaft SynthesisParamsForDocument des Objekts IComponentSynchronizer::DocumentProcessingParams
Die Seite in IComponentSynchronizer::Document mit dem Index IComponentSynchronizer::PageIndex
In diesem Fall wird die Eigenschaft IComponentSynchronizer::TextValidator auf das angegebene TextValidator-Objekt gesetzt, und anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf
Der Wert der Eigenschaft SynthesisParamsForDocument des Objekts IComponentSynchronizer::DocumentProcessingParams
In diesem Fall wird die Eigenschaft IComponentSynchronizer::DocumentViewer auf das angegebene DocumentViewer-Objekt gesetzt. Anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf
Die Seite in IComponentSynchronizer::Document mit dem Index IComponentSynchronizer::PageIndex
In diesem Fall wird die Eigenschaft IComponentSynchronizer::Document auf das angegebene FRDocument-Objekt gesetzt. Anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf



Die erste Seite in IComponentSynchronizer::Document
0

In diesem Fall wird die Eigenschaft IComponentSynchronizer::DocumentProcessingParams auf das angegebene DocumentProcessingParams-Objekt gesetzt. Anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf



Der Wert der Eigenschaft SynthesisParamsForDocument des Objekts IComponentSynchronizer::DocumentProcessingParams
In diesem Fall wird die Eigenschaft IComponentSynchronizer::PageIndex auf den angegebenen Wert gesetzt. Anschließend werden die folgenden Vorgänge ausgeführt:
EigenschaftWird gesetzt auf



Die Seite in IComponentSynchronizer::Document mit dem Index IComponentSynchronizer::PageIndex

Wenn eine verbundene Komponente ein Ereignis auslöst

Ereignisse des verbundenen Image Viewer:
Wenn Image Viewer das Ereignis OnMouseButtonUp auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( mouseButton == MBU_LeftButton && ZoomViewer != 0 ) {
 int documentX = 0;
 int documentY = 0;
 ImageViewer->ScreenToDocument( x, y, &documentX, &documentY );
 ZoomViewer->CenterOnDocumentPoint( documentX, documentY );
}
Wenn Image Viewer das Ereignis OnBlockSelectionChanged auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Wenn Image Viewer das Ereignis OnTableCellsSelected auslöst, ruft Component Synchronizer die Methode ShowBlock des Objekts TextEditor mit dem Index des ausgewählten Blocks und dem Index der Zelle unten rechts auf.
Wenn Image Viewer das Ereignis OnAfterDblClick auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Wenn Image Viewer das Ereignis OnActivePageChanged auslöst und die Eigenschaften ZoomViewer, TextEditor und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Eigenschaft FRPage oder ActivePage der entsprechenden Komponente auf die angegebene Seite des Dokuments gesetzt.
Wenn Image Viewer das Ereignis OnSelectTool auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( ZoomViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ZoomViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ZoomViewer->put_ActiveTool( selectedTool );
}
Wenn Image Viewer das Ereignis OnOptionsChanged auslöst und die Eigenschaften ZoomViewer, DocumentViewer, TextEditor und TextValidator des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Methode UpdateOptions der Objekte ZoomViewer, DocumentViewer, TextEditor und TextValidator aufgerufen.
Ereignisse des verbundenen Zoom Viewer:
Wenn Zoom Viewer das Ereignis OnVisibleDocumentAreaChange auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( ImageViewer != 0 ) {
 ImageViewer->put_ZoomRect( visibleRect );
 if( isInFocus ) {
  ImageViewer->ShowDocumentArea( visibleRect );
 }
}
Wenn Zoom Viewer das Ereignis OnBlockSelectionChanged auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Wenn Zoom Viewer das Ereignis OnTableCellsSelected auslöst, ruft Component Synchronizer die Methode ShowBlock des Objekts TextEditor mit dem Index des ausgewählten Blocks und dem Index der Zelle unten rechts auf.
Wenn Zoom Viewer das Ereignis OnAfterDblClick auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Wenn Zoom Viewer das Ereignis OnActivePageChanged auslöst und die Eigenschaften ImageViewer, TextEditor und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt wurden, wird die Eigenschaft FRPage oder ActivePage der entsprechenden Komponente auf die angegebene Seite des Dokuments gesetzt.
Wenn Zoom Viewer das Ereignis OnSelectTool auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( ImageViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ImageViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ImageViewer->put_ActiveTool( selectedTool );
}
Wenn Zoom Viewer das Ereignis OnOptionsChanged auslöst und die Eigenschaften ImageViewer, DocumentViewer, TextEditor und TextValidator des Objekts ComponentSynchronizer bereits gesetzt wurden, wird die Methode UpdateOptions der Objekte ImageViewer, DocumentViewer, TextEditor und TextValidator aufgerufen.
Ereignisse des verbundenen Document Viewer:
Wenn Document Viewer das Ereignis OnActivePageChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer und TextEditor des Objekts ComponentSynchronizer bereits gesetzt wurden, wird die Eigenschaft FRPage der entsprechenden Komponente auf die angegebene Seite des Dokuments gesetzt.
Wenn Document Viewer das Ereignis OnDocumentChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, TextEditor und TextValidator des Objekts ComponentSynchronizer bereits gesetzt wurden:
  • die Eigenschaft FRDocument des Objekts TextValidator wird auf das neue Dokument gesetzt
  • die Eigenschaft FRPage der Objekte ImageViewer, ZoomViewer und TextEditor sowie die Eigenschaft ActivePage des Objekts DocumentViewer werden auf die erste Seite des neuen Dokuments gesetzt
Wenn Document Viewer das Ereignis OnOptionsChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, TextEditor und TextValidator des Objekts ComponentSynchronizer bereits gesetzt wurden, wird die Methode UpdateOptions der Objekte ImageViewer, ZoomViewer, TextEditor und TextValidator aufgerufen.
Ereignisse des verbundenen Text Editor:
Wenn Text Editor das Ereignis OnEditorBlockChanged auslöst, führt ComponentSynchronizer die folgenden Operationen aus:
  1. Wenn die Eigenschaften ImageViewer und ZoomViewer des Objekts ComponentSynchronizer bereits gesetzt wurden, wird die Methode SetSelectedBlocksIndices der Objekte ImageViewer und ZoomViewer für den angegebenen Block aufgerufen.
  2. Wenn es sich um einen Tabellenblock handelt, wird die Methode SetSelectedCells der Objekte ImageViewer und ZoomViewer für die ausgewählte Zelle aufgerufen.
  3. Anschließend wird die Methode ShowDocumentArea der Objekte ImageViewer und ZoomViewer aufgerufen.
Wenn Text Editor das Ereignis OnSymbolSelected auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRect );
}
if( ImageViewer != 0 ) {
 ImageViewer->ShowDocumentArea( symbolRect );
}
if( ZoomViewer != 0 ) {
 ZoomViewer->ShowDocumentArea( symbolRect );
}
Wenn Text Editor das Ereignis OnActivePageChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Eigenschaft FRPage bzw. ActivePage der entsprechenden Komponente auf die angegebene Seite des Dokuments gesetzt.
Wenn Text Editor das Ereignis OnOptionsChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, DocumentViewer und TextValidator des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Methode UpdateOptions der Objekte ImageViewer, ZoomViewer, DocumentViewer und TextValidator aufgerufen.
Ereignisse des verbundenen TextValidator:
Wenn TextValidator das Ereignis OnSymbolSelected auslöst, führt Component Synchronizer die folgenden Operationen aus:
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRectangle );
}
Wenn TextValidator das Ereignis OnSelectionChanged auslöst, führt Component Synchronizer die folgenden Operationen aus:
int symbolPos;
IEditorPosition* nextPosition;
position->get_Symbol( &symbolPos );
nextPosition->put_Symbol( symbolPos + length );
if( textEditor != 0 ) {
 textEditor->SetSelection( position, nextPosition );
}
Wenn TextValidator das Ereignis OnActivePageChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, TextEditor und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Eigenschaft FRPage bzw. ActivePage der entsprechenden Komponente auf die angegebene Seite des Dokuments gesetzt.
Wenn TextValidator das Ereignis OnDocumentChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, TextEditor und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt sind:
  • wird die Eigenschaft FRDocument des Objekts DocumentViewer auf das neue Dokument gesetzt
  • werden die Eigenschaft FRPage der Objekte ImageViewer, ZoomViewer und TextEditor sowie die Eigenschaft ActivePage des Objekts DocumentViewer auf die erste Seite des neuen Dokuments gesetzt.
Wenn TextValidator das Ereignis OnOptionsChanged auslöst und die Eigenschaften ImageViewer, ZoomViewer, TextEditor und DocumentViewer des Objekts ComponentSynchronizer bereits gesetzt sind, wird die Methode UpdateOptions der Objekte ImageViewer, ZoomViewer, TextEditor und DocumentViewer aufgerufen.

Siehe auch

ComponentSynchronizer