Partilhar via


Contentores: Notificações Client-Item

Este artigo discute as funções substituíveis que a estrutura MFC chama quando os aplicativos de servidor modificam itens no documento do aplicativo cliente.

COleClientItem define várias funções substituíveis que são chamadas em resposta a solicitações do aplicativo componente, que também é chamado de aplicativo de servidor. Esses substituíveis geralmente funcionam como notificações. Eles informam o aplicativo de contêiner de vários eventos, como rolagem, ativação ou mudança de posição, e de alterações que o usuário faz ao editar ou manipular o item.

A estrutura notifica seu aplicativo de contêiner sobre alterações por meio de uma chamada para COleClientItem::OnChange, uma função substituível cuja implementação é necessária. Esta função protegida recebe dois argumentos. O primeiro especifica o motivo pelo qual o servidor alterou o item:

Notificação Significado
OLE_CHANGED A aparência do item OLE foi alterada.
OLE_SAVED O item OLE foi salvo.
OLE_CLOSED O item OLE foi fechado.
OLE_RENAMED O documento do servidor que contém o item OLE foi renomeado.
OLE_CHANGED_STATE O item OLE foi alterado de um estado para outro.
OLE_CHANGED_ASPECT O aspeto de desenho do item OLE foi alterado pelo framework.

Esses valores são da enumeração OLE_NOTIFICATION , que é definida em AFXOLE.H.

O segundo argumento para esta função especifica como o item foi alterado ou que estado ele inseriu:

Quando o primeiro argumento é Segundo argumento
OLE_SAVED ou OLE_CLOSED Não é utilizado.
OLE_CHANGED Especifica o aspeto do item OLE que foi alterado.
OLE_CHANGED_STATE Descreve o estado que está sendo inserido (emptyState, loadedState, openState, activeState ou activeUIState).

Para obter mais informações sobre os estados que um item de cliente pode assumir, consulte Contêineres: Client-Item Estados.

A estrutura chama COleClientItem::OnGetItemPosition quando um item está a ser ativado para edição no local. A implementação é necessária para aplicações que suportam edição no local. O MFC Application Wizard fornece uma implementação básica, que atribui as coordenadas do item ao CRect objeto que é passado como um argumento para OnGetItemPosition.

Se a posição ou o tamanho de um item OLE mudar durante a edição no local, as informações do contentor sobre a posição do item e os retângulos de corte deverão ser atualizadas e o servidor deverá receber informações sobre as alterações. O framework chama COleClientItem::OnChangeItemPosition para este objetivo. O MFC Application Wizard fornece uma substituição que chama a função da classe base. Você deve editar a função que o assistente de aplicativo escreve para a sua classe derivada de COleClientItem para que a função atualize qualquer informação retida pelo objeto cliente-item.

Ver também

Contentores
Contentores: Client-Item Estados
COleClientItem::OnChangeItemPosition