Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 opcionais OLE que talvez você queira implementar e os artigos que descrevem esses recursos.
Para preparar a classe derivada do CWinApp
Inicialize as bibliotecas OLE chamando
AfxOleInitna função membroInitInstance.Chame
CDocTemplate::SetContainerInfoemInitInstancepara atribuir os recursos de menu e acelerador usados quando um item inserido é ativado no local. Para obter mais informações sobre este tópico, consulte Ativação.
Esses recursos são fornecidos para você automaticamente quando você usa o Assistente de Aplicativo MFC para criar um aplicativo de contêiner. Consulte Como criar um programa EXE do MFC.
Para preparar a classe de exibição
Acompanhe os itens selecionados mantendo um ponteiro ou, caso ofereça suporte a múltiplas seleções, uma lista de ponteiros para os itens selecionados. Sua
OnDrawfunção deve desenhar todos os itens OLE.Substitua
IsSelectedpara verificar se o item passado para ele está selecionado.Implemente um
OnInsertObjectmanipulador de mensagens para exibir a caixa de diálogo Inserir Objeto .Implemente um manipulador de mensagens
OnSetFocuspara transferir o foco do modo de exibição para um item inserido de OLE ativo no local.Implemente um manipulador de mensagens
OnSizepara informar um item inserido de OLE de que ele precisa para alterar seu retângulo para refletir a alteração de tamanho do modo de exibição 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 obter um exemplo disso, consulte o exemplo container .
Para manipular itens inseridos e vinculados
Derivar uma classe de COleClientItem. Os objetos dessa classe representam itens que foram inseridos ou vinculados ao documento OLE.
Substitua
OnChange,OnChangeItemPositioneOnGetItemPosition. Essas funções lidam com dimensionamento, posicionamento e modificação de itens inseridos e vinculados.
O assistente do aplicativo derivará a classe para você, mas provavelmente você precisará substituir OnChange e as outras funções listadas com ela na etapa 2 no procedimento anterior. As implementações de esqueleto precisam ser personalizadas para a maioria dos aplicativos, pois essas funções são implementadas de forma diferente de um aplicativo para o outro. Para obter exemplos disso, consulte os exemplos de MFC DRAWCLI e CONTAINER.
Você deve adicionar vários itens à estrutura de menu do aplicativo de contêiner para dar suporte ao OLE. Para obter mais informações sobre eles, consulte Menus e recursos: Adições de contêiner.
Talvez você também queira dar suporte a alguns dos seguintes recursos em seu aplicativo de contêiner:
Ativação no local ao editar um item inserido.
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 saber mais, confira Ação do tipo "arrastar e soltar" na OLE.
Links para objetos inseridos ou aplicativos contêiner/servidor combinados.
Para obter mais informações, consulte Contêineres: Recursos Avançados.
Consulte também
Contêineres
Contêineres: Itens do Cliente