Você pode usar o Assistente de objeto ATL para adicionar um objeto ou um Controlarar para seu ATL ou MFC-com base em projetos. Para cada objeto COM ou controle que você adiciona, o assistente gera arquivos CPP e H, bem como um arquivo RGS para suporte de registro com base em script.
Se você está tentando adicionar um objeto COM simples para um projeto MFC, você precisará adicionar suporte ATL ao projeto existente. Para obter mais informações sobre este recurso, consulte Adicionar suporte ATL ao seu projeto MFC.
&Notanbsp; O Assistente de objeto ATL adiciona o objeto para o projeto ativo. Se você deseja adicionar o controle a outro projeto na área de trabalho, você deve primeiro torná-lo o projeto ativo.
Para adicionar um objeto ou um Controlarar usando o Assistente de objeto ATL
Com seu projeto aberto, selecione Novo objeto ATL no menu Inserir.
- ou -
De ClassView, clique no botão direito do mouse sobre a pasta de nível de projeto e selecione Novo objeto ATL no menu pop-up.
Abre o Assistente de objeto ATL.
&Notanbsp; Se este for um projeto MFC para que você não adicionou anteriormente um objeto ATL, youll ' aviso que você especifique se você deseja suporte ATL adicionado ao seu projeto. Se clicar em Sim abre o Assistente de objeto ATL.
O Assistente de objeto ATL exibe as categorias de objetos à esquerda e os ícones dos objetos em cada categoria à direita. Escolha uma categoria; o assistente exibe os ícones dos objetos nesta categoria.
Objetos ATL
Objeto simples adiciona um objeto COM mínimo.
Objeto Adicionar-in adiciona um objeto COM que estende o shell do Visual C++ com seu próprio botão de barra de ferramentas e manipulação de eventos. Este objeto oferece a mesma funcionalidade como o adicionado pelo Assistente de suplemento DevStudio no menu arquivo do Visual C++, Novos projetos guia.
Objeto do Internet Explorer adiciona um objeto que oferece suporte as interfaces necessárias pelo Internet Explorer, mas sem suporte para uma interface de usuário.
Active Server componente adiciona um objeto que pode ser usado pelo recurso do Active Server Pages do Internet Information Server (IIS).
MS Transaction Server componente inclui os arquivos de cabeçalho necessários para o Microsoft Transaction Server e define o objeto como nonaggregatable.
Objeto de escrivão do componente adiciona um objeto que implementa a interface de IComponentRegistrar . Esse objeto pode ser usado para registrar todos os objetos em seu servidor em processo que declare a macro DECLARE_OBJECT_DESCRIPTION . E/usando este objeto você pode registrar ou cancelar o registro objetos individualmente, ao contrário de DllRegisterServer e DllUnregisterServer que registrar e cancelar o registro de todos os objetos em seu servidor. Você também pode obter uma lista de objetos do servidor e suas descrições com o método de IComponentRegistrar::GetComponents.
Controles ATL
Controle total adiciona um objeto que oferece suporte as interfaces para todos os recipientes.
Controle Lite adiciona um objeto que oferece suporte as interfaces necessários pelo Internet Explorer, incluindo suporte para uma interface de usuário.
Página de propriedades adiciona um objeto que implementa uma página de propriedade.
Controle composto adiciona um controle que pode hospedar muitos outros controles.
Controle HTML adiciona um Controlarar com a funcionalidade de DHTML e exibe uma página da web HTML em sua interface do usuário.
Controle composto Lite adiciona um controle composto que pode hospedar outros controles, mas suporta apenas as interfaces necessárias pelo Internet Explorer.
Controle HTML Lite adiciona um Controlarar com a funcionalidade de DHTML e exibe uma página da web HTML em sua interface do usuário, mas suporta apenas as interfaces necessárias pelo Internet Explorer.
ATL diversos
Caixa de diálogo adiciona um objeto que implementa uma caixa de diálogo.
Acesso a dados
Provedor adiciona código para oferecer suporte a modelos de provedor de OOLE DB.
Consumidor adiciona código para oferecer suporte a OLE DB consumidor modelos.
Clique duas vezes no controle ou objeto que deseja inserir. O Assistente de objeto ATL exibe uma caixa de diálogo mostrando opções que se aplicam a seu objeto ou controle.
&Notanbsp; Dependendo do tipo de objeto ou controle que você seleciona, algumas das opções descritas abaixo e páginas podem não estar disponíveis.
Na página nomes , digite os nomes de classe e o arquivo. Por padrão, o nome digitado para o nome abreviado se torna a raiz de todos os outros nomes nesta página. Você pode inserir seus próprios nomes, em vez de aceitar esses padrões.
Classe é o nome da classe implementando seu objeto.
CoClass é o nome da classe de componente que contém uma lista de interfaces suportadas pelo objeto.
A interface é o nome da interface que você criar para seu objeto. Essa interface contém seus métodos Personalizars. Para controles completo, controles do Internet Explorer, objetos simples, objetos do Internet Explorer, Add-in de objetos, componentes ativos de servidor e componentes do Microsoft Transaction Server, o assistente cria uma interface com o nome que você especifica. Para objetos de página de propriedade, nenhuma interface personalizada é criada, e o assistente atribui IUnknown como a interface de objeto. Caixa de diálogo objetos não criar uma interface.
Tipo é uma Cadeia de caracteres de descrição para o objeto que vai para o registro.
ProgID é um nome que recipientes podem usar em vez do CLSID do objeto.
Na página atributos , selecione um threading modelo, tipo de interface e suporte a agregação:
Escolha Interfaces duplos interfaces do objeto derivar de IDispatch , bem como apoiar suas funções personalizadas (vtable tem funções de interface Personalizar além de métodos de IDispatch ligação tardia). Isso permite que clientes COM e controladores de automação acessar seu objeto.
Escolha Personalizar Interfaces para derivar as interfaces de objeto de IUnknown (vtable tem funções de interface personalizada e não métodos de IDispatch ). Uma interface Personalizar pode ser mais rápida do que uma interface dupla, especialmente através de limites de processo.
Escolha apenas para agregação se você deseja que o objeto a ser instanciado somente se ele está sendo agregado.
Marque a caixa de seleção Suporte a ISupportErrorInfo para que seu objeto implementar o interface de ISupportErrorInfo para relatórios de erro.
Marque a caixa de seleção Suporte a pontos de conexão para adicionar suporte para pontos de conexão para o objeto. O assistente automaticamente irá derivar a classe do objeto de IConnectionPointContainerImpl.
Marque a caixa de seleção Free Threaded empacotador para criar um objeto empacotador free-threaded eficientemente empacotar ponteiros de interface entre segmentos no mesmo processo.
Na página Miscelânea , escolhe as características do objeto.
Escolha opaco para make your controlar completamente opaco, para que nenhum contêiner mostra por trás dos limites de controle. Isso ajuda o contêiner de desenhar o Controlarar mais rapidamente. O Retangular de todo Controlarar passa para método de OnDraw de sua classe de Controlarar. Esta opção define o VIEWSTATUS_OPAQUE bit na enumeração VIEWSTATUS.
Escolha Plano de fundo sólido para tornar o Controlarar uma cor sólida e não um padrão de fundo. Esta opção é significativa somente se o opaco é opção também é selecionada. Esta opção define o bit VIEWSTATUS_SOLIDBKGND na enumeração VIEWSTATUS.
Escolha invisível em tempo de execução para tornar seu Controlarar invisível em tempo de execução. Você pode usar controles invisíveis para executar operações em segundo plano, tais como acionar eventos em intervalos de tempo.
Escolha atua como botão para ativar o Controlarar atuar como um botão, em particular para exibir próprio como o botão padrão com base na propriedade ambiente DisplayAsDefault.
Escolha atua como rótulo para ativar o Controlarar substituir o rótulo nativo do contêiner.
Escolha Adicionar Controlarar com base na superclasse uma das classes de janela padrão. A lista suspensa contém nomes de classe de janela definidas pelo Windows. Quando você escolhe um deles, o assistente adiciona uma variável de membro de CContainedWindow à classe do Controlarar. CContainedWindow:: Create será superclasse da classe de janela especificada.
Escolha Normalize DC ter seu controle criar um contexto para dispositivo normalizado quando ele é chamado para desenhar propriamente dito. Isto padroniza a aparência do Controlarar, mas é menos eficiente.
Escolha Insertable ter seu Controlarar aparecem na caixa de diálogo Inserir objeto de aplicativos como Microsoft Word e Microsoft Excel. Seu controle, em seguida, pode ser inserido por qualquer aplicativo que ofereça suporte a objetos incorporados através da caixa de diálogo Inserir objeto.
Escolha Em janelas apenas para forçar o Controlarar para ser em janelas, mesmo em recipientes que oferece suporte a objetos sem janelas. Se você não selecionar essa opção, o controle será automaticamente sem janelas em recipientes que oferece suporte a objetos sem janelas e ser automaticamente em janelas em recipientes que não oferecem suporte a objetos sem janelas.
Na página de Propriedades de ações , selecione as propriedades de ações que você deseja que o objeto de suporte, como legenda ou Cor da borda. Você pode selecionar todas as propriedades de ações de uma vez clicando o gt; > botão.
Na página seqüências de caracteres , digite nomes para o objeto de página de propriedade.
Título é o texto que aparece na guia da página de propriedades.
Doc String é uma Cadeia de caracteres de texto que descreve a página. O quadro de propriedade poderia usar a descrição em uma dica de linha ou a ferramenta de status. O quadro de propriedade padrão no momento não usa essa Cadeia de caracteres.
HelpFile é o nome do arquivo de ajuda associado. O nome do arquivo de ajuda deve ser o nome simples sem um caminho. Quando o usuário pressiona ajuda, o quadro abre o arquivo de ajuda no diretório chamado o valor da chave HelpDir nas entradas de registro de página de propriedade sob seu CLSID.
Na página Adicionar-in , escolha recursos para o objeto Adicionar-in.
Barra de ferramentas fornecem cria um botão de barra de ferramentas que o usuário pode clicar para executar um comando adicionado pelo seu objeto Adicionar-in.
Nome do comando é o nome do comando adicionado para Visual C++ pelo seu objeto Adicionar-in. Este nome aparece na lista na guia Adicionar-ins e arquivos de Macro do menu Ferramentas , opção Personalizar .
Nome do método é o nome do método que implementa o comando.
Barra de ferramentas de texto é o texto que você deseja que apareça no botão que você adiciona à barra de ferramentas para executar o comando.
Status barra texto é o texto que você deseja que apareça na linha de status quando o comando está em execução.
Dicas de ferramentas de texto é o texto que você deseja que apareça na mensagem de dica de ferramenta para seu botão da barra de ferramentas quando o mouse passa sobre o botão.
Eventos de aplicação permite que o objeto Adicionar-in capturar eventos de aplicativo.
Depurador eventos permite que o objeto Adicionar-in capturar eventos de depurador.
Na página ASP , escolha recursos do componente de servidor ativo.
OnStartPage/OnEndPage, marcada por padrão, adiciona os métodos OnStartPage e OnEndPage do objeto.
Se OnStartPage/OnEndPage estiver marcada, você pode escolher quais Objetos intrínsecos que deseja ter disponível como ponteiros de membro na classe do objeto. Por padrão, cada objeto intrínseco é verificado.
Na página do MTX , escolha recursos para o componente Microsoft Transaction Server. Dual e costume escolher o tipo de interface implementada, e Pontos de conexão de suporte adiciona suporte para pontos de conexão. Essas opções são iguais a que estão na página atributos para outros tipos de objetos. Além disso, a página MTX tem duas opções exclusivas:
IObjectControl de suporte fornece Acessar aos métodos de IObjectControl três: Activate, CanBePoolede e Deactivate.
Pode ser agrupado informa ao ambiente de tempo de execução de Transaction Server que seu objeto deve ser retornado para um pool de instância após a desativação, em vez de destruído. Esta opção não pode ser selecionada, a menos que a opção de IObjectControl de suporte também é seleccionada.