Compartilhar via


Contêineres: Implementando um contêiner

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

Para preparar sua classe derivada de CWinApp

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

  2. Chamar CDocTemplate::SetContainerInfo em InitInstance para atribuir o menu e acelerador recursos usados quando um item incorporado é 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ê usar o Assistente de aplicativo MFC para criar um aplicativo de contêiner.Consulte criar um programa de EXE do MFC.

Para preparar sua classe de modo de exibição

  1. Manter controle dos itens selecionados, mantendo um ponteiro ou lista de ponteiros se oferecer suporte a seleção de vários itens selecionados.O OnDraw função deve desenhar todos os itens OLE.

  2. Substituir IsSelected para verificar se o item passado para ele está selecionado no momento.

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

  4. Implementar um OnSetFocus mensagem manipulador para transferir o foco do modo de exibição para uma OLE ativa in-loco incorporado item.

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

Porque a implementação desses recursos varia bastante de um aplicativo para o próximo, o Assistente de aplicativo fornece apenas uma implementação básica.Provavelmente, você precisará personalizar essas funções para o aplicativo funcionar corretamente.Para um exemplo, consulte o CONTÊINER exemplo.

Para manipular itens incorporados e vinculados

  1. Derivar uma classe de COleClientItem.Objetos desta classe representam itens incorporados ou vinculados ao documento OLE.

  2. Override OnChange, OnChangeItemPosition, and OnGetItemPosition.Essas funções alça de dimensionamento, posicionamento e modificar itens incorporados e vinculados.

O Assistente de aplicativo será derive a classe para você, mas você provavelmente precisará substituir OnChange e outras funções relacionadas com ele na etapa 2 do procedimento anterior.As implementações de esqueleto precisam ser personalizado para a maioria dos aplicativos, pois essas funções são implementadas de forma diferente de um aplicativo para o próximo.Para exemplos, consulte os exemplos MFC DRAWCLI e CONTÊINER.

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

Você também poderá oferecer suporte a 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 aplicativos de contêiner/servidor de combinação.

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

Consulte também

Conceitos

Contêineres

Recipientes: Itens de cliente