Compartilhar via


Contêineres: estados Client-Item

Este artigo explica os diferentes estados pelos quais um item cliente passa em seu tempo de vida.

Um item do cliente passa por vários estados à medida que é criado, ativado, modificado e salvo. Sempre que o estado do item for alterado, a estrutura chamará COleClientItem::OnChange com a notificação OLE_CHANGED_STATE . O segundo parâmetro é um valor da COleClientItem::ItemState enumeração. Pode ser um dos seguintes:

  • COleClientItem::emptyState

  • COleClientItem::loadedState

  • COleClientItem::openState

  • COleClientItem::activeState

  • COleClientItem::activeUIState

No estado vazio, um item do cliente ainda não é completamente um item. A memória foi alocada para ela, mas ainda não foi inicializada com os dados do item OLE. Esse é o estado em que um item do cliente está quando ele foi criado por meio de uma chamada, new mas ainda não passou pela segunda etapa da criação típica de duas etapas.

Na segunda etapa, executada por meio de uma chamada para COleClientItem::CreateFromFile ou outra CreateFrom função xxxx, o item é completamente criado. Os dados OLE (de um arquivo ou de alguma outra fonte, como a Área de Transferência) foram associados ao COleClientItemobjeto derivado. Agora o item está no estado carregado.

Quando um item é aberto na janela do servidor em vez de aberto no local no documento do contêiner, ele está no estado aberto (ou totalmente aberto). Nesse estado, uma escotilha cruzada geralmente é desenhada sobre a representação do item na janela do contêiner para indicar que o item está ativo em outro lugar.

Quando um item é ativado no local, ele passa, geralmente apenas brevemente, pelo estado ativo. Em seguida, ele insere o estado ativo da interface do usuário, no qual o servidor mescla seus menus, barras de ferramentas e outros componentes de interface do usuário com os do contêiner. A presença desses componentes de interface do usuário distingue o estado ativo da interface do usuário do estado ativo. Caso contrário, o estado ativo se assemelha ao estado ativo da interface do usuário. Se o servidor der suporte a Desfazer, o servidor será necessário para manter as informações de estado de desfazer do item OLE até atingir o estado carregado ou aberto.

Consulte também

Contêineres
Ativação
Contêineres: Client-Item Notificações
Controladores
Classe CRectTracker