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 tutorial orienta você passo a passo por um projeto 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 código para atualizar a exibição.
Observação
Este tutorial cria o mesmo código-fonte que o exemplo de Polígono. Se você quiser evitar inserir o código-fonte manualmente, você pode baixá-lo do resumo de exemplo do Polygon. 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 anteriores) e substitua:
#ifndef WINVER
#define WINVER 0x0400
#endif
com o
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
O compilador ainda vai reclamar por regsvr32 não sair corretamente, mas você ainda deve ter a DLL do controle construída e disponível para uso.
Para criar o projeto ATL inicial usando o ATL Project Wizard
No Visual Studio 2017 e anteriores: Ficheiro>Novo>Projeto. Abra a guia Visual C++ e selecione MFC/ATL. Selecione Projeto ATL.
No Visual Studio 2019: escolha Arquivo>Novo>Projeto, digite "atl" na caixa de pesquisa e escolha Projeto ATL.
Digite Polygon 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 de projeto ATL . Clique em Configurações do 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 no Gerenciador de Soluções expandindo o Polygon objeto. Os arquivos estão listados abaixo.
| Ficheiro | 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 ATL em seu projeto. Inicialmente, isto está em branco. |
| Polygon.def | Esse arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pela sua DLL. |
| Polígono.idl | O arquivo de linguagem de definição de interface, que descreve as interfaces específicas para seus objetos. |
| Polígono.rgs | Este script de registo contém informações para registar a DLL do programa. |
| Polígono.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. |
| Recurso.h | O arquivo de cabeçalho para o arquivo de recurso. |
| Polygonps.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pelo proxy e código de stub que suportam chamadas entre apartamentos. |
| stdafx.cpp | O arquivo que será #includestdafx.h. |
| stdafx.h | O ficheiro que irá #include e pré-compilar os ficheiros de cabeçalho ATL. |
| Ficheiro | 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 ATL em seu projeto. Inicialmente, isto está em branco. |
| Polygon.def | Esse arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pela sua DLL. |
| Polígono.idl | O arquivo de linguagem de definição de interface, que descreve as interfaces específicas para seus objetos. |
| Polígono.rgs | Este script de registo contém informações para registar a DLL do programa. |
| Polígono.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. |
| Recurso.h | O arquivo de cabeçalho para o arquivo de recurso. |
| Polygonps.def | Este arquivo de definição de módulo fornece ao vinculador informações sobre as exportações exigidas pelo proxy e código de stub que suportam chamadas entre apartamentos. |
| pch.cpp | O arquivo que irá #includepch.h. |
| pch.h | O ficheiro que irá #include e pré-compilar os ficheiros de cabeçalho ATL. |
No Gerenciador de Soluções, clique com o botão direito do mouse no
Polygonprojeto.No menu de atalho, clique em Propriedades.
Clique em Linker. Altere a opção Per-UserRedirection para Sim.
Clique em OK.
Na próxima etapa, você adicionará um controle ao seu projeto.