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.
Este artigo resume o procedimento para implementar um contêiner e aponta para outros artigos que fornecem explicações mais detalhadas sobre a implementação de contêineres. Ele também lista alguns recursos OLE opcionais que você pode querer implementar e os artigos que descrevem esses recursos.
Para preparar a tua classe derivada de CWinApp
Inicialize as bibliotecas OLE chamando
AfxOleInitaInitInstancefunção de membro.Chame
CDocTemplate::SetContainerInfoemInitInstancepara atribuir os recursos de menu e acelerador usados quando um item incorporado é ativado no local. Para obter mais informações sobre este tópico, consulte Ativação.
Esses recursos são fornecidos automaticamente quando você usa o MFC Application Wizard para criar um aplicativo de contêiner. Consulte Criando um programa MFC EXE.
Para preparar a sua classe de visualização
Acompanhe os itens selecionados mantendo um ponteiro ou uma lista de ponteiros se você oferecer suporte a várias seleções para os itens selecionados. Sua
OnDrawfunção deve desenhar todos os itens OLE.Substituir
IsSelectedpara verificar se o item passado para ele está selecionado no momento.Implemente um
OnInsertObjectmanipulador de mensagens para exibir a caixa de diálogo Inserir objeto .Implemente um
OnSetFocusmanipulador de mensagens para transferir o foco da visualização para um item OLE incorporado ativo no local.Implemente um
OnSizemanipulador de mensagens para informar um item incorporado OLE de que ele precisa alterar seu retângulo para refletir a alteração no tamanho da vista que o contém.
Como a implementação desses recursos varia drasticamente de um aplicativo para o outro, o assistente de aplicativo fornece apenas uma implementação básica. Você provavelmente terá que personalizar essas funções para que seu aplicativo funcione corretamente. Para um exemplo disso, consulte a amostra CONTAINER .
Para lidar com itens incorporados e ligados
Derive uma classe de COleClientItem. Os objetos dessa classe representam itens que foram incorporados ou vinculados ao seu documento OLE.
Substituir
OnChange,OnChangeItemPositioneOnGetItemPosition. Essas funções lidam com dimensionamento, posicionamento e modificação de itens incorporados e vinculados.
O assistente da aplicação derivará a classe para você, mas você provavelmente terá de substituir OnChange e as outras funções listadas em conjunto com ele na etapa 2 no procedimento anterior. As implementações esqueleto precisam ser personalizadas para a maioria dos aplicativos, porque essas funções são implementadas de forma diferente de um aplicativo para o próximo. Para exemplos disso, consulte as amostras MFC DRAWCLI e CONTAINER.
Você deve adicionar vários itens à estrutura de menu do aplicativo contêiner para oferecer suporte a OLE. Para obter mais informações sobre isso, consulte Menus e recursos: adições de contêiner.
Você também pode querer oferecer suporte a alguns dos seguintes recursos em seu aplicativo de contêiner:
Ativação no local ao editar um item incorporado.
Para obter mais informações, consulte Ativação.
Criação de itens OLE arrastando e soltando uma seleção de um aplicativo de servidor.
Para obter mais informações, consulte OLE arrastar e soltar.
Links para objetos incorporados ou aplicativos de contêiner/servidor de combinação.
Para obter mais informações, consulte Contêineres: recursos avançados.