Condividi tramite


Creazione del progetto (Esercitazione di ATL, parte 1)

Questa esercitazione illustra dettagliatamente un progetto ATL non con attributi che crea un oggetto ActiveX che visualizza un poligono. L'oggetto include opzioni per consentire all'utente di modificare il numero di lati che costituiscono il poligono e il codice per aggiornare la visualizzazione.

Nota

Questa esercitazione crea lo stesso codice sorgente dell'esempio Polygon. Se si vuole evitare di immettere manualmente il codice sorgente, è possibile scaricarlo dall'astrazione dell'esempio Polygon. È quindi possibile fare riferimento al codice sorgente Polygon durante l'esercitazione oppure usarlo per verificare la presenza di errori nel proprio progetto. Per la compilazione, aprire pch.h (stdafx.h in Visual Studio 2017 e versioni precedenti) e sostituire:

#ifndef WINVER
#define WINVER 0x0400
#endif

con

#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif

Il compilatore si lamenta ancora di regsvr32 non uscire correttamente, ma è comunque necessario che la DLL del controllo sia compilata e disponibile per l'uso.

Per creare il progetto ATL iniziale tramite la Creazione guidata progetto ATL

  1. In Visual Studio 2017 e versioni precedenti: File>Nuovo>progetto. Aprire la scheda Visual C++ e selezionare MFC/ATL. Selezionare Progetto ATL.

    In Visual Studio 2019: scegliere File>Nuovo>progetto, digitare "atl" nella casella di ricerca e scegliere Progetto ATL.

  2. Digitare Polygon come nome del progetto.

    Per impostazione predefinita, il percorso del codice sorgente sarà \Users\<username>\source\repos e verrà creata automaticamente una nuova cartella.

  3. In Visual Studio 2019 accettare i valori predefiniti e fare clic su OK. In Visual Studio 2017 fare clic su OK per aprire la procedura guidata Progetto ATL. Fare clic su Impostazioni applicazione per visualizzare le opzioni disponibili. Poiché questo progetto crea un controllo e un controllo deve essere un server in-process, lasciare il tipo di applicazione come DLL. Fare clic su OK.

Visual Studio creerà il progetto generando diversi file. È possibile visualizzare questi file in Esplora soluzioni espandendo l'oggetto Polygon . I file sono elencati di seguito.

File Descrizione
Polygon.cpp Contiene l'implementazione di DllMain, DllGetClassObjectDllCanUnloadNow, DllRegisterServer, e DllUnregisterServer. Contiene anche la mappa oggetti, che è un elenco degli oggetti ATL nel progetto. Inizialmente è vuoto.
Polygon.def Questo file di definizione del modulo fornisce al linker informazioni sulle esportazioni richieste dalla DLL.
Polygon.idl File del linguaggio di definizione dell'interfaccia, che descrive le interfacce specifiche degli oggetti.
Polygon.rgs Questo script del Registro di sistema contiene informazioni per la registrazione della DLL del programma.
Polygon.rc Il file di risorse, che inizialmente contiene le informazioni sulla versione e una stringa contenente il nome del progetto.
Resource.h File di intestazione per il file di risorse.
Polygonps.def Questo file di definizione del modulo fornisce al linker informazioni sulle esportazioni richieste dal codice proxy e stub che supportano le chiamate tra appartamenti.
stdafx.cpp File che verrà #include stdafx.h.
stdafx.h File che precompila i #include file di intestazione ATL.
File Descrizione
Polygon.cpp Contiene l'implementazione di DllMain, DllGetClassObjectDllCanUnloadNow, DllRegisterServer, e DllUnregisterServer. Contiene anche la mappa oggetti, che è un elenco degli oggetti ATL nel progetto. Inizialmente è vuoto.
Polygon.def Questo file di definizione del modulo fornisce al linker informazioni sulle esportazioni richieste dalla DLL.
Polygon.idl File del linguaggio di definizione dell'interfaccia, che descrive le interfacce specifiche degli oggetti.
Polygon.rgs Questo script del Registro di sistema contiene informazioni per la registrazione della DLL del programma.
Polygon.rc Il file di risorse, che inizialmente contiene le informazioni sulla versione e una stringa contenente il nome del progetto.
Resource.h File di intestazione per il file di risorse.
Polygonps.def Questo file di definizione del modulo fornisce al linker informazioni sulle esportazioni richieste dal codice proxy e stub che supportano le chiamate tra appartamenti.
pch.cpp File che verrà #include pch.h.
pch.h File che precompila i #include file di intestazione ATL.
  1. In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto Polygon.

  2. Scegliere Proprietà dal menu di scelta rapida.

  3. Fare clic su Linker. Modificare l'opzione Per-UserRedirection su .

  4. Fare clic su OK.

Nel passaggio successivo si aggiungerà un controllo al progetto.

Al passaggio 2

Vedi anche

Esercitazione