Compartir a través de


Contenedores: Notificaciones de Client-Item

En este artículo se describen las funciones reemplazables a las que llama el marco de MFC cuando las aplicaciones de servidor modifican elementos en el documento de la aplicación cliente.

COleClientItem define varias funciones reemplazables a las que se llama en respuesta a las solicitudes de la aplicación de componente, que también se denomina aplicación de servidor. Estas sobreridables suelen actuar como notificaciones. Informan a la aplicación contenedora de varios eventos, como el desplazamiento, la activación o un cambio de posición, y de los cambios que realiza el usuario al editar o manipular el elemento de otro modo.

El marco notifica a la aplicación contenedora los cambios a través de una llamada a COleClientItem::OnChange, una función reemplazable cuya implementación es necesaria. Esta función protegida recibe dos argumentos. La primera especifica el motivo por el que el servidor cambió el elemento:

Notificación Significado
OLE_CHANGED La apariencia del elemento OLE ha cambiado.
OLE_SAVED Se ha guardado el elemento OLE.
OLE_CLOSED Se ha cerrado el elemento OLE.
OLE_RENAMED Se ha cambiado el nombre del documento de servidor que contiene el elemento OLE.
OLE_CHANGED_STATE El elemento OLE ha cambiado de un estado a otro.
OLE_CHANGED_ASPECT El marco ha cambiado el aspecto de dibujo del elemento OLE.

Estos valores proceden de la enumeración OLE_NOTIFICATION , que se define en AFXOLE.H.

El segundo argumento de esta función especifica cómo ha cambiado el elemento o el estado que ha especificado:

Cuando el primer argumento es Segundo argumento
OLE_SAVED o OLE_CLOSED No se usa.
OLE_CHANGED Especifica el aspecto del elemento OLE que ha cambiado.
OLE_CHANGED_STATE Describe el estado que se especifica (emptyState, loadedState, openState, activeState o activeUIState).

Para obtener más información sobre los estados que puede suponer un elemento de cliente, vea Contenedores: Client-Item Estados.

El marco llama a COleClientItem::OnGetItemPosition cuando se activa un elemento para la edición local. La implementación es necesaria para las aplicaciones que admiten la edición local. El Asistente para aplicaciones MFC proporciona una implementación básica, que asigna las coordenadas del elemento al CRect objeto que se pasa como argumento a OnGetItemPosition.

Si cambia la posición o el tamaño de un elemento OLE durante la edición local, la información del contenedor sobre la posición del elemento y los rectángulos de recorte deben actualizarse y el servidor debe recibir información sobre los cambios. El marco llama COleClientItem::OnChangeItemPosition a este propósito. El Asistente para aplicaciones MFC proporciona una invalidación que llama a la función de la clase base. Debe editar la función que el asistente para aplicaciones escribe para la COleClientItemclase derivada de para que la función actualice cualquier información conservada por el objeto client-item.

Consulte también

Recipientes
Contenedores: estados de Client-Item
COleClientItem::OnChangeItemPosition