Partilhar via


Contêineres: Implementação de um contêiner

Este artigo resume o procedimento para a implementação de um contêiner e direciona para outros artigos que fornecem que explicações sobre a implementação de recipientes mais detalhadas.Ela também relaciona alguns recursos OLE opcionais que talvez queira implementar e os artigos que descrevem esses recursos.

Para preparar sua classe derivada de CWinApp

  1. Inicializar as bibliotecas OLE chamando AfxOleInit in the InitInstance função de membro.

  2. De telefonarCDocTemplate::SetContainerInfo em InitInstance Para atribuir o menu e a aceleradora recursos usados quando um item incorporado está ativado no local. Para obter mais informações sobre esse tópico, consulte Ativação.

Esses recursos são fornecidos automaticamente para você quando você usa o Assistente de aplicativo MFC para criar um aplicativo de contêiner.See Criando um programa do EXE do MFC.

Para preparar sua classe de modo de exibição

  1. Controle de itens selecionados, mantendo um ponteiro ou lista de ponteiros se suporte a seleção múltipla, aos itens selecionados.O OnDraw função deve desenhar todos os itens OLE.

  2. Substituir IsSelected Para verificar se o item passado para ele no momento é selecionado.

  3. Implementar um OnInsertObject manipulador de mensagens para exibir o Inserir objeto caixa de diálogo.

  4. Implementar um OnSetFocus mensagem manipulador transferência o foco no modo de exibição para uma OLE ativo no local item incorporado.

  5. Implementar um OnSize manipulador de mensagens para informar uma OLE incorporado item que ele precisa alterar seu retângulo para refletir a alteração no dimensionar do modo de exibição que contém.

Como a implementação desses recursos varia significativamente de um aplicativo para o próximo, o Assistente de aplicativo fornece apenas uma implementação básica.Você provavelmente terá que personalizar essas funções para seu aplicativo funcionar corretamente.Para obter um exemplo disso, consulte o contêiner amostra.

Para manipular itens incorporados e vinculados

  1. Derivar uma classe de COleClientItem.Objetos dessa classe representam os itens que foram incorporados ou vinculados a documento OLE.

  2. Substituir Ao alterar, OnChangeItemPosition, e OnGetItemPosition. Lidar com essas funções de dimensionamento, posicionamento e modificando itens incorporados e vinculados.

O Assistente de aplicativo obterão a classe para você, mas provavelmente será necessário substituir Ao alterar e as outras funções relacionadas com ele na etapa 2 no procedimento anterior.As implementações de esqueleto precisará ser personalizado para a maioria dos aplicativos, pois essas funções são implementadas diferente de um aplicativo para o próximo.Para obter exemplos de como isso, consulte o MFC amostras DRAWCLI and contêiner.

Você deve adicionar um número de itens a estrutura de menu do aplicativo contêiner para oferecer suporte a OLE.Para obter mais informações sobre elas, consulte Menus e recursos: contêiner adições.

Convém também suporte para alguns dos seguintes recursos no seu aplicativo de contêiner:

  • Ativação in-loco ao editar um item incorporado.

    Para obter mais informações, consulte Ativação.

  • Criação de OLE itens arrastando e soltando uma seleção de um aplicativo servidor.

    Para obter mais informações, consulte Arrastar e soltar (OLE).

  • Links para objetos incorporados ou combinação de aplicativos de contêiner/servidor.

    Para obter mais informações, consulte Contêineres: De recursos avançados.

Consulte também

Conceitos

Recipientes

Contêineres: Itens do cliente