Criando o projeto (Tutorial ATL, parte 1)
Este tutorial orienta você passo a passo por meio de um projeto da ATL não atribuído que cria um objeto ActiveX que exibe um polígono. O objeto inclui opções para permitir que o usuário altere o número de lados que compõem o polígono e o código para atualizar a exibição.
Observação
Este tutorial cria o mesmo código-fonte que o exemplo do polígono. Se você quiser evitar inserir o código-fonte manualmente, poderá baixá-lo do resumo de exemplo do polígono. Em seguida, você pode consultar o código-fonte do polígono enquanto trabalha no tutorial ou usá-lo para verificar se há erros em seu próprio projeto. Para compilar, abra pch.h (stdafx.h no Visual Studio 2017 e versões anteriores) e substitua:
#ifndef WINVER
#define WINVER 0x0400
#endif
por
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
O compilador ainda reclamará de regsvr32
não sair corretamente, mas você deverá ter a DLL do controle criada e disponível para uso.
Para criar um projeto da ATL inicial usando o Assistente de Projeto da ATL
No Visual Studio 2017 e versões anteriores: Arquivo>Novo>Projeto. Abra a guia Visual C++ e selecione MFC/ATL. Selecione Projeto da ATL.
No Visual Studio 2019: escolha Arquivo>Novo>Projeto, digite "atl" na caixa de pesquisa e escolha Projeto da ATL.
Digite Polígono como o nome do projeto.
O local do código-fonte geralmente será padrão para \Users\<username>\source\repos, e uma nova pasta será criada automaticamente.
No Visual Studio 2019, aceite os valores padrão e clique em OK. No Visual Studio 2017, clique em OK para abrir o assistente do Projeto da ATL. Clique em Configurações de Aplicativo para ver as opções disponíveis. Como esse projeto cria um controle e um controle deve ser um servidor em processo, deixe o tipo de aplicativo como uma DLL. Clique em OK.
O Visual Studio criará o projeto gerando vários arquivos. Você pode exibir esses arquivos em Gerenciador de Soluções expandindo o objeto Polygon
. Os valores são listados abaixo.
Arquivo | Descrição |
---|---|
Polygon.cpp | Contém a implementação de DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer e DllUnregisterServer . Também contém o mapa de objetos, que é uma lista dos objetos da ATL em seu projeto. É definido inicialmente como em branco. |
Polygon.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas por sua DLL. |
Polygon.idl | O arquivo de linguagem IDL, que descreve as interfaces específicas de seus objetos. |
Polygon.rgs | Esse script do Registro contém informações para registrar a DLL do programa. |
Polygon.rc | O arquivo de recurso, que inicialmente contém as informações de versão e uma cadeia de caracteres que contém o nome do projeto. |
Resource.h | O arquivo de cabeçalho do arquivo de recurso. |
Polygonps.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pelo código proxy e stub que dão suporte a chamadas em apartments. |
stdafx.cpp | O arquivo que será #include stdafx.h. |
stdafx.h | O arquivo que vai #include e pré-compilar os arquivos de cabeçalho da ATL. |
Arquivo | Descrição |
---|---|
Polygon.cpp | Contém a implementação de DllMain , DllCanUnloadNow , DllGetClassObject , DllRegisterServer e DllUnregisterServer . Também contém o mapa de objetos, que é uma lista dos objetos da ATL em seu projeto. É definido inicialmente como em branco. |
Polygon.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas por sua DLL. |
Polygon.idl | O arquivo de linguagem IDL, que descreve as interfaces específicas de seus objetos. |
Polygon.rgs | Esse script do Registro contém informações para registrar a DLL do programa. |
Polygon.rc | O arquivo de recurso, que inicialmente contém as informações de versão e uma cadeia de caracteres que contém o nome do projeto. |
Resource.h | O arquivo de cabeçalho do arquivo de recurso. |
Polygonps.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pelo código proxy e stub que dão suporte a chamadas em apartments. |
pch.cpp | O arquivo que #include pch.h. |
pch.h | O arquivo que vai #include e pré-compilar os arquivos de cabeçalho da ATL. |
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto
Polygon
.No menu de atalho, clique em Propriedades.
Clique no Vinculador. Altere a opção Per-UserRedirection para Sim.
Clique em OK.
Na próxima etapa, você adicionará um controle ao seu projeto.