Tworzenie projektu (ALT — Samouczek, część 1)
Ten samouczek przeprowadzi Cię krok po kroku przez nieprzywiązany projekt ATL, który tworzy obiekt ActiveX, który wyświetla wielokąt. Obiekt zawiera opcje umożliwiające użytkownikowi zmianę liczby stron tworzących wielokąt oraz kod w celu odświeżenia ekranu.
Uwaga
Ten samouczek tworzy ten sam kod źródłowy co przykład Polygon. Jeśli chcesz uniknąć ręcznego wprowadzania kodu źródłowego, możesz pobrać go z przykładowej abstrakcji Polygon. Następnie możesz odwołać się do kodu źródłowego wielokąta podczas pracy z samouczkiem lub użyć go do sprawdzania błędów we własnym projekcie. Aby skompilować, otwórz plik pch.h (stdafx.h w programie Visual Studio 2017 i starszych wersjach) i zastąp:
#ifndef WINVER
#define WINVER 0x0400
#endif
with
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Kompilator nadal będzie narzekać na regsvr32
to, że nie kończy się poprawnie, ale nadal powinien istnieć biblioteka DLL kontrolki skompilowana i dostępna do użycia.
Aby utworzyć początkowy projekt ATL przy użyciu Kreatora projektu ATL
W programie Visual Studio 2017 i starszych wersjach: Utwórz>nowy>projekt. Otwórz kartę Visual C++ i wybierz pozycję MFC/ATL. Wybierz pozycję PROJEKT ATL.
W programie Visual Studio 2019: wybierz pozycję Plik>nowy>projekt, wpisz "atl" w polu wyszukiwania i wybierz pozycję Projekt ATL.
Wpisz Wielokąt jako nazwę projektu.
Lokalizacja kodu źródłowego zazwyczaj będzie domyślnie ustawiona na \Users\<username>\source\repos, a nowy folder zostanie utworzony automatycznie.
W programie Visual Studio 2019 zaakceptuj wartości domyślne i kliknij przycisk OK. W programie Visual Studio 2017 kliknij przycisk OK , aby otworzyć kreatora projektu ATL. Kliknij pozycję Ustawienia aplikacji, aby wyświetlić dostępne opcje. Ponieważ ten projekt tworzy kontrolkę, a kontrolka musi być serwerem przetwarzania, pozostaw typ aplikacji jako bibliotekę DLL. Kliknij przycisk OK.
Program Visual Studio utworzy projekt, generując kilka plików. Te pliki można wyświetlić w Eksplorator rozwiązań, rozwijając Polygon
obiekt. Poniżej wymieniono pliki.
Plik | opis |
---|---|
Polygon.cpp | Zawiera implementację DllMain , , DllCanUnloadNow DllGetClassObject DllRegisterServer i DllUnregisterServer . Zawiera również mapę obiektów, która jest listą obiektów ATL w projekcie. Początkowo jest to puste. |
Wielokąt.def | Ten plik definicji modułu zawiera konsolidator zawierający informacje o eksportach wymaganych przez bibliotekę DLL. |
Wielokąt.idl | Plik języka definicji interfejsu, który opisuje interfejsy specyficzne dla obiektów. |
Wielokąt.rgs | Ten skrypt rejestru zawiera informacje dotyczące rejestrowania biblioteki DLL programu. |
Polygon.rc | Plik zasobu, który początkowo zawiera informacje o wersji i ciąg zawierający nazwę projektu. |
Resource.h | Plik nagłówka dla pliku zasobu. |
Wielokąty.def | Ten plik definicji modułu udostępnia konsolidatorowi informacje o eksportach wymaganych przez serwer proxy i kod wycinków obsługujący wywołania między apartamentami. |
stdafx.cpp | Plik, który będzie #include stdafx.h. |
stdafx.h | Plik, który będzie #include i prekompiluje pliki nagłówka ATL. |
Plik | opis |
---|---|
Polygon.cpp | Zawiera implementację DllMain , , DllCanUnloadNow DllGetClassObject DllRegisterServer i DllUnregisterServer . Zawiera również mapę obiektów, która jest listą obiektów ATL w projekcie. Początkowo jest to puste. |
Wielokąt.def | Ten plik definicji modułu zawiera konsolidator zawierający informacje o eksportach wymaganych przez bibliotekę DLL. |
Wielokąt.idl | Plik języka definicji interfejsu, który opisuje interfejsy specyficzne dla obiektów. |
Wielokąt.rgs | Ten skrypt rejestru zawiera informacje dotyczące rejestrowania biblioteki DLL programu. |
Polygon.rc | Plik zasobu, który początkowo zawiera informacje o wersji i ciąg zawierający nazwę projektu. |
Resource.h | Plik nagłówka dla pliku zasobu. |
Wielokąty.def | Ten plik definicji modułu udostępnia konsolidatorowi informacje o eksportach wymaganych przez serwer proxy i kod wycinków obsługujący wywołania między apartamentami. |
pch.cpp | Plik, który będzie #include pch.h. |
pch.h | Plik, który będzie #include i prekompiluje pliki nagłówka ATL. |
W Eksplorator rozwiązań kliknij prawym przyciskiem
Polygon
myszy projekt.W menu skrótów kliknij pozycję Właściwości.
Kliknij pozycję Konsolidator. Zmień opcję Per-UserRedirection na Tak.
Kliknij przycisk OK.
W następnym kroku dodasz kontrolkę do projektu.