Vytvoření projektu (ATL – tutoriál, část 1)
Tento kurz vás provede podrobným procházením projektu ATL bez atributů, který vytvoří objekt ActiveX, který zobrazí mnohoúhelník. Objekt obsahuje možnosti umožňující uživateli změnit počet stran, které tvoří mnohoúhelník, a kód pro aktualizaci zobrazení.
Poznámka:
Tento kurz vytvoří stejný zdrojový kód jako ukázka Polygonu. Pokud se chcete vyhnout ručnímu zadávání zdrojového kódu, můžete si ho stáhnout z abstrakty ukázky Polygonu. Pak můžete při práci v kurzu odkazovat na zdrojový kód Polygonu nebo ho použít ke kontrole chyb ve vašem vlastním projektu. Chcete-li provést kompilaci, otevřete soubor pch.h (stdafx.h v sadě Visual Studio 2017 a starší) a nahraďte:
#ifndef WINVER
#define WINVER 0x0400
#endif
with
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Kompilátor si stále stěžuje na regsvr32
to, že není správně ukončen, ale přesto byste měli mít sestavenou a dostupnou knihovnu DLL ovládacího prvku.
Vytvoření počátečního projektu ATL pomocí Průvodce projektem ATL
V sadě Visual Studio 2017 a starších verzích: Soubor>nového>projektu. Otevřete kartu Visual C++ a vyberte MFC/ATL. Vyberte projekt ATL.
V sadě Visual Studio 2019: Zvolte Nový>projekt souboru>, do vyhledávacího pole zadejte "atl" a zvolte Projekt ATL.
Jako název projektu zadejte Mnohoúhelník .
Umístění zdrojového kódu bude obvykle výchozí nastavení \Users\username>\<source\repos a automaticky se vytvoří nová složka.
V sadě Visual Studio 2019 přijměte výchozí hodnoty a klikněte na tlačítko OK. V sadě Visual Studio 2017 kliknutím na tlačítko OK otevřete průvodce projektem ATL. Kliknutím na Nastavení aplikace zobrazíte dostupné možnosti. Vzhledem k tomu, že tento projekt vytvoří ovládací prvek a ovládací prvek musí být procesový server, ponechte typ aplikace jako knihovnu DLL. Klikněte na OK.
Visual Studio vytvoří projekt vygenerováním několika souborů. Tyto soubory můžete zobrazit v Průzkumník řešení rozbalením objektuPolygon
. Soubory jsou uvedené níže.
Soubor | Popis |
---|---|
Polygon.cpp | Obsahuje implementaci DllMain , , DllCanUnloadNow DllGetClassObject , DllRegisterServer a DllUnregisterServer . Obsahuje také mapu objektů, což je seznam objektů ATL v projektu. Toto je zpočátku prázdné. |
Polygon.def | Tento soubor definice modulu poskytuje linkeru informace o exportech požadovaných vaší knihovnou DLL. |
Polygon.idl | Soubor jazyka definice rozhraní, který popisuje rozhraní specifická pro vaše objekty. |
Mnohoúhelník.rgs | Tento skript registru obsahuje informace o registraci knihovny DLL programu. |
Polygon.rc | Soubor zdroje, který zpočátku obsahuje informace o verzi a řetězec obsahující název projektu. |
Resource.h | Hlavičkový soubor pro soubor prostředků. |
Polygonps.def | Tento definiční soubor modulu poskytuje linkeru informace o exportech vyžadovaných proxy kódem a kódem zástupných procedur, který podporuje volání napříč apartmány. |
stdafx.cpp | Soubor, který bude #include stdafx.h. |
stdafx.h | Soubor, který bude #include a předkompiluje soubory hlaviček ATL. |
Soubor | Popis |
---|---|
Polygon.cpp | Obsahuje implementaci DllMain , , DllCanUnloadNow DllGetClassObject , DllRegisterServer a DllUnregisterServer . Obsahuje také mapu objektů, což je seznam objektů ATL v projektu. Toto je zpočátku prázdné. |
Polygon.def | Tento soubor definice modulu poskytuje linkeru informace o exportech požadovaných vaší knihovnou DLL. |
Polygon.idl | Soubor jazyka definice rozhraní, který popisuje rozhraní specifická pro vaše objekty. |
Mnohoúhelník.rgs | Tento skript registru obsahuje informace o registraci knihovny DLL programu. |
Polygon.rc | Soubor zdroje, který zpočátku obsahuje informace o verzi a řetězec obsahující název projektu. |
Resource.h | Hlavičkový soubor pro soubor prostředků. |
Polygonps.def | Tento definiční soubor modulu poskytuje linkeru informace o exportech vyžadovaných proxy kódem a kódem zástupných procedur, který podporuje volání napříč apartmány. |
pch.cpp | Soubor, který bude #include pch.h. |
pch.h | Soubor, který bude #include a předkompiluje soubory hlaviček ATL. |
V Průzkumník řešení klikněte pravým tlačítkem myši na
Polygon
projekt.V místní nabídce klepněte na příkaz Vlastnosti.
Klikněte na Linker. Změňte možnost Per-UserRedirection na Ano.
Klikněte na OK.
V dalším kroku přidáte do projektu ovládací prvek.