Partilhar via


Contentores: Client-Item Estados

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

Um item de cliente passa por vários estados à medida que é criado, ativado, modificado e salvo. Cada vez que o estado do item muda, a estrutura chama 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 de cliente ainda não é completamente um item. A memória foi alocada para ele, mas ainda não foi inicializada com os dados do item OLE. Este é o estado em que um item de cliente está quando ele foi criado por meio de uma chamada para new , mas ainda não passou pela segunda etapa da criação típica de duas etapas.

Na segunda etapa, realizada através de uma chamada a COleClientItem::CreateFromFile ou outra função CreateFromxxxx, o item é completamente criado. Os dados OLE (de um ficheiro ou de outra fonte, como o Clipboard) foram associados ao COleClientItem objeto derivado. Agora o item está no estado carregado.

Quando um item foi aberto na janela do servidor em vez de aberto no lugar 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 entra no estado ativo da interface do usuário, no qual o servidor mesclou seus menus, barras de ferramentas e outros componentes da interface do usuário com os do contêiner. A presença desses componentes da interface do usuário distingue o estado ativo da UI do estado ativo. Caso contrário, o estado ativo será semelhante ao estado ativo da interface do usuário. Se o servidor suportar Desfazer, o servidor deverá reter as informações de estado de desfazer do item OLE até que ele atinja o estado carregado ou aberto.

Ver também

Contentores
Ativação
Contentores: Notificações Client-Item
Controladores
Classe CRectTracker