Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Implementa as interfaces OLE adicionais necessárias para tornar um servidor normal COleDocument em um servidor DocObject completo: IOleDocument, IOleDocumentView, IOleCommandTargete IPrint.
Sintaxe
class CDocObjectServer : public CCmdTarget
Membros
Construtores Públicos
| Nome | Descrição |
|---|---|
| CDocObjectServer::CDocObjectServer | Constrói um objeto CDocObjectServer. |
Métodos Públicos
| Nome | Descrição |
|---|---|
| CDocObjectServer::ActivateDocObject | Ativa o servidor de objeto de documento, mas não o mostra. |
Métodos Protegidos
| Nome | Descrição |
|---|---|
| CDocObjectServer::OnActivateView | Exibe o modo de exibição DocObject. |
| CDocObjectServer::OnApplyViewState | Restaura o estado do modo de exibição DocObject. |
| CDocObjectServer::OnSaveViewState | Salva o estado do modo de exibição DocObject. |
Observações
CDocObjectServer é derivado e CCmdTarget trabalha em estreita colaboração para COleServerDoc expor as interfaces.
Um documento do servidor DocObject pode conter objetos CDocObjectServerItem , que representam a interface do servidor para itens DocObject.
Para personalizar seu servidor DocObject, derive sua própria classe e substitua suas funções de configuração de CDocObjectServer exibição, OnActivateView, OnApplyViewState e OnSaveViewState. Você precisará fornecer uma nova instância de sua classe em resposta a chamadas de estrutura.
Para obter mais informações sobre DocObjects, consulte CDocObjectServerItem e COleCmdUI na referência MFC.
Hierarquia de herança
CDocObjectServer
Requerimentos
Cabeçalho: afxdocob.h
CDocObjectServer::ActivateDocObject
Chame essa função para ativar (mas não mostrar) o servidor de objeto de documento.
void ActivateDocObject();
Observações
ActivateDocObject chama IOleDocumentSiteo método , ActivateMe mas não mostra a exibição porque aguarda instruções específicas sobre como configurar e exibir a exibição, dada na chamada para CDocObjectServer::OnActivateView.
Juntos, ActivateDocObject ative OnActivateView e exiba a visualização DocObject. A ativação DocObject difere de outros tipos de ativação OLE in-loco. A ativação DocObject ignora a exibição de bordas de hachura in-loco e adornos de objetos (como alças de dimensionamento), ignora funções de extensão de objeto e desenha barras de rolagem dentro do retângulo de exibição, em vez de desenhá-las fora desse retângulo (como na ativação in-loco normal).
CDocObjectServer::CDocObjectServer
Constrói e inicializa um objeto CDocObjectServer.
explicit CDocObjectServer(
COleServerDoc* pOwner,
LPOLEDOCUMENTSITE pDocSite = NULL);
Parâmetros
pProprietário
Um ponteiro para o documento do site do cliente que é o cliente para o servidor DocObject.
pDocSite
Um ponteiro para a IOleDocumentSite interface implementada pelo contêiner.
Observações
Quando um DocObject está ativo, a interface OLE do site do cliente (IOleDocumentSite) é o que permite que o servidor DocObject se comunique com seu cliente (o contêiner). Quando um servidor DocObject é ativado, ele primeiro verifica se o contêiner implementa a IOleDocumentSite interface. Em caso afirmativo, COleServerDoc::GetDocObjectServer é chamado para ver se o contêiner suporta DocObjects. Por padrão, GetDocObjectServer retorna NULL. Você deve substituir COleServerDoc::GetDocObjectServer para construir um novo CDocObjectServer objeto ou um objeto derivado próprio, com ponteiros para o COleServerDoc contêiner e sua IOleDocumentSite interface como argumentos para o construtor.
CDocObjectServer::OnActivateView
Chame essa função para exibir o modo de exibição DocObject.
virtual HRESULT OnActivateView();
Valor de retorno
Retorna um valor de erro ou aviso. Por padrão, retorna NOERROR se for bem-sucedido; caso contrário, E_FAIL.
Observações
Esta função cria uma janela de quadro in-loco, desenha barras de rolagem dentro da exibição, configura os menus que o servidor compartilha com seu contêiner, adiciona controles de quadro, define o objeto ativo e, finalmente, mostra a janela de quadro in-loco e define o foco.
CDocObjectServer::OnApplyViewState
Substitua essa função para restaurar o estado da exibição DocObject.
virtual void OnApplyViewState(CArchive& ar);
Parâmetros
RA
Um CArchive objeto a partir do qual serializar o estado de exibição.
Observações
Essa função é chamada quando a exibição está sendo exibida pela primeira vez após sua instanciação.
OnApplyViewState instrui um modo de exibição a reinicializar-se de acordo com os dados no CArchive objeto salvo anteriormente com OnSaveViewState. A exibição deve validar os CArchive dados no objeto porque o contêiner não tenta interpretar os dados do estado de exibição de forma alguma.
Você pode usar OnSaveViewState para armazenar informações persistentes específicas para o estado da sua exibição. Se você substituir OnSaveViewState para armazenar informações, você desejará substituir OnApplyViewState para ler essas informações e aplicá-las à sua exibição quando elas forem ativadas recentemente.
CDocObjectServer::OnSaveViewState
Substitua essa função para salvar informações de estado extra sobre sua exibição DocObject.
virtual void OnSaveViewState(CArchive& ar);
Parâmetros
RA
Um CArchive objeto para o qual o estado de exibição é serializado.
Observações
Seu estado pode incluir propriedades como o tipo de exibição, fator de zoom, ponto de inserção e seleção, e assim por diante. O contêiner normalmente chama essa função antes de desativar a exibição. O estado salvo pode ser restaurado posteriormente por meio de OnApplyViewState.
Você pode usar OnSaveViewState para armazenar informações persistentes específicas para o estado da sua exibição. Se você substituir OnSaveViewState para armazenar informações, você desejará substituir OnApplyViewState para ler essas informações e aplicá-las à sua exibição quando elas forem ativadas recentemente.
Ver também
CCmdTarget Classe
Gráfico de Hierarquia
CDocObjectServerItem Classe