Saltar al contenido principal

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.

Visual Components están implementados en FRE para Windows.
Component Synchronizer es un componente especial que implementa una respuesta automática a distintos eventos en los Visual Components. Puede conectar varios Visual Components al Synchronizer y funcionarán como una sola aplicación. No es necesario usar Component Synchronizer con todo el conjunto de componentes conectados; conecte solo los que utilice. Por ejemplo, puede conectar únicamente Image Viewer mediante la propiedad ImageViewer y Text Editor mediante la propiedad TextEditor. Component Synchronizer no tiene interfaz de usuario. No utiliza ninguna funcionalidad interna de los Visual Components; usa únicamente la API COM de los componentes. Component Synchronizer funciona como se describe a continuación.

Cuando un componente se conecta a Component Synchronizer a través de la API

Si un componente u objeto se conecta a Component Synchronizer mediante:
En este caso, la propiedad IComponentSynchronizer::ImageViewer se establece en el objeto ImageViewer especificado y, a continuación, se realizan las operaciones siguientes:
La propiedadSe establece en
True
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
En este caso, la propiedad IComponentSynchronizer::ZoomViewer se establece en el objeto ZoomViewer especificado y, a continuación, se realizan las operaciones siguientes:
La propiedadSe establece en
True
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
En este caso, la propiedad IComponentSynchronizer::TextEditor se establece en el objeto TextEditor especificado y, a continuación, se realizan las operaciones siguientes:
La propiedadSe establece en
El valor de la propiedad SynthesisParamsForDocument del objeto IComponentSynchronizer::DocumentProcessingParams
La página de IComponentSynchronizer::Document con el índice IComponentSynchronizer::PageIndex
En este caso, la propiedad IComponentSynchronizer::TextValidator se establece en el objeto TextValidator especificado y, a continuación, se realizan las operaciones siguientes:
La propiedadSe establece en
El valor de la propiedad SynthesisParamsForDocument del objeto IComponentSynchronizer::DocumentProcessingParams
En este caso, la propiedad IComponentSynchronizer::DocumentViewer se establece en el objeto DocumentViewer especificado y, a continuación, se realizan las siguientes operaciones:
La propiedadSe establece en
La página de IComponentSynchronizer::Document correspondiente al índice IComponentSynchronizer::PageIndex
En este caso, la propiedad IComponentSynchronizer::Document se establece en el objeto FRDocument especificado y, a continuación, se realizan las siguientes operaciones:
La propiedadSe establece en



La primera página de IComponentSynchronizer::Document
0

En este caso, la propiedad IComponentSynchronizer::DocumentProcessingParams se establece en el objeto DocumentProcessingParams especificado y, a continuación, se realizan las siguientes operaciones:
La propiedadSe establece en



El valor de la propiedad SynthesisParamsForDocument del objeto IComponentSynchronizer::DocumentProcessingParams
En este caso, la propiedad IComponentSynchronizer::PageIndex se establece en el valor especificado y, a continuación, se realizan las siguientes operaciones:
La propiedadSe establece en



La página de IComponentSynchronizer::Document correspondiente al índice IComponentSynchronizer::PageIndex

Cuando un componente conectado genera un evento

Eventos del Image Viewer conectado:
Si el Image Viewer genera el evento OnMouseButtonUp, Component Synchronizer realiza las siguientes operaciones:
if( mouseButton == MBU_LeftButton && ZoomViewer != 0 ) {
 int documentX = 0;
 int documentY = 0;
 ImageViewer->ScreenToDocument( x, y, &documentX, &documentY );
 ZoomViewer->CenterOnDocumentPoint( documentX, documentY );
}
Si el Image Viewer genera el evento OnBlockSelectionChanged, Component Synchronizer realiza las siguientes operaciones:
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Si el Image Viewer genera el evento OnTableCellsSelected, Component Synchronizer llama al método ShowBlock del objeto TextEditor con el índice del bloque seleccionado y el índice de la celda situada en la esquina inferior derecha.
Si el Image Viewer genera el evento OnAfterDblClick, Component Synchronizer realiza las siguientes operaciones:
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Si el Image Viewer genera el evento OnActivePageChanged y las propiedades ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
Si el Image Viewer genera el evento OnSelectTool, Component Synchronizer realiza las siguientes operaciones:
if( ZoomViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ZoomViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ZoomViewer->put_ActiveTool( selectedTool );
}
Si el Image Viewer genera el evento OnOptionsChanged y las propiedades ZoomViewer, DocumentViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ZoomViewer, DocumentViewer, TextEditor y TextValidator.
Eventos del Zoom Viewer conectado:
Si el Zoom Viewer genera el evento OnVisibleDocumentAreaChange, Component Synchronizer realiza las siguientes operaciones:
if( ImageViewer != 0 ) {
 ImageViewer->put_ZoomRect( visibleRect );
 if( isInFocus ) {
  ImageViewer->ShowDocumentArea( visibleRect );
 }
}
Si el Zoom Viewer genera el evento OnBlockSelectionChanged, Component Synchronizer realiza las siguientes operaciones:
if( selected == VARIANT_TRUE ) {
 if( textEditor != 0 ) {
  textEditor->ShowBlock( blockIndex, NotFound );
 }
}
Si el Zoom Viewer genera el evento OnTableCellsSelected, Component Synchronizer llama al método ShowBlock del objeto TextEditor con el índice del bloque seleccionado y el índice de la celda situada en la esquina inferior derecha.
Si Zoom Viewer genera el evento OnAfterDblClick, Component Synchronizer realiza las siguientes operaciones:
if( textEditor != 0 ) {
 textEditor->ActivateOn( blockIndex, x, y );
}
Si Zoom Viewer genera el evento OnActivePageChanged y las propiedades ImageViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
Si Zoom Viewer genera el evento OnSelectTool, Component Synchronizer realiza las siguientes operaciones:
if( ImageViewer == 0 ) {
 return;
}
IFRPagePtr curPage;
ImageViewer->get_FRPage( &curPage );
if( curPage != 0 ) {
 ImageViewer->put_ActiveTool( selectedTool );
}
Si Zoom Viewer genera el evento OnOptionsChanged y las propiedades ImageViewer, DocumentViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ImageViewer, DocumentViewer, TextEditor y TextValidator.
Eventos del Document Viewer conectado:
Si Document Viewer genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer y TextEditor del objeto ComponentSynchronizer ya se han establecido, la propiedad FRPage del componente correspondiente se establece en la página especificada del documento.
Si Document Viewer genera el evento OnDocumentChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido:
  • la propiedad FRDocument del objeto TextValidator se establece en el nuevo documento
  • la propiedad FRPage de los objetos ImageViewer, ZoomViewer y TextEditor, y la propiedad ActivePage del objeto DocumentViewer, se establecen en la primera página del nuevo documento
Si Document Viewer genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y TextValidator del objeto ComponentSynchronizer ya se han establecido, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, TextEditor y TextValidator.
Eventos del Editor de texto conectado:
Si el Editor de texto genera el evento OnEditorBlockChanged, ComponentSynchronizer realiza las siguientes operaciones:
  1. Si las propiedades ImageViewer y ZoomViewer del objeto ComponentSynchronizer ya se han establecido, se llama al método SetSelectedBlocksIndices de los objetos ImageViewer y ZoomViewer para el bloque especificado.
  2. Si se trata de un bloque de la tabla, se llama al método SetSelectedCells de los objetos ImageViewer y ZoomViewer para la celda seleccionada.
  3. A continuación, se llama al método ShowDocumentArea de los objetos ImageViewer y ZoomViewer.
Si el Editor de texto genera el evento OnSymbolSelected, Component Synchronizer realiza las siguientes operaciones:
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRect );
}
if( ImageViewer != 0 ) {
 ImageViewer->ShowDocumentArea( symbolRect );
}
if( ZoomViewer != 0 ) {
 ZoomViewer->ShowDocumentArea( symbolRect );
}
Si el Editor de texto genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer y DocumentViewer del objeto ComponentSynchronizer ya se han configurado, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
Si el Editor de texto genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, DocumentViewer y TextValidator del objeto ComponentSynchronizer ya se han configurado, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, DocumentViewer y TextValidator.
Eventos del Text Validator conectado:
Si Text Validator genera el evento OnSymbolSelected, Component Synchronizer realiza las siguientes operaciones:
if( ZoomViewer != 0 ) {
 ZoomViewer->put_SymbolRect( symbolRectangle );
}
Si Text Validator genera el evento OnSelectionChanged, Component Synchronizer realiza las siguientes operaciones:
int symbolPos;
IEditorPosition* nextPosition;
position->get_Symbol( &symbolPos );
nextPosition->put_Symbol( symbolPos + length );
if( textEditor != 0 ) {
 textEditor->SetSelection( position, nextPosition );
}
Si Text Validator genera el evento OnActivePageChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han configurado, la propiedad FRPage o ActivePage del componente correspondiente se establece en la página especificada del documento.
Si Text Validator genera el evento OnDocumentChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han configurado:
  • la propiedad FRDocument del objeto DocumentViewer se establece en el nuevo documento
  • las propiedades FRPage de los objetos ImageViewer, ZoomViewer y TextEditor, y la propiedad ActivePage del objeto DocumentViewer, se establecen en la primera página del nuevo documento.
Si Text Validator genera el evento OnOptionsChanged y las propiedades ImageViewer, ZoomViewer, TextEditor y DocumentViewer del objeto ComponentSynchronizer ya se han configurado, se llama al método UpdateOptions de los objetos ImageViewer, ZoomViewer, TextEditor y DocumentViewer.

Consulte también

ComponentSynchronizer