Создание проекта (учебник ATL, часть 1)
В этом руководстве пошаговые инструкции описаны пошаговые инструкции по проекту ATL, который создает объект ActiveX, отображающий многоугольник. Объект включает параметры, позволяющие пользователю изменять количество сторон, составляющих многоугольник, и код для обновления дисплея.
Примечание.
В этом руководстве создается тот же исходный код, что и пример Polygon. Если вы хотите избежать ввода исходного кода вручную, его можно скачать из примера Polygon. Затем вы можете ссылаться на исходный код Polygon, как вы работаете с руководством, или использовать его для проверки ошибок в собственном проекте. Чтобы выполнить компиляцию, откройте pch.h (stdafx.h в Visual Studio 2017 и более ранних версиях) и замените следующее:
#ifndef WINVER
#define WINVER 0x0400
#endif
на
#ifndef WINVER
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#endif
Компилятор по-прежнему жалуется на regsvr32
отсутствие правильного выхода, но вы все равно должны иметь библиотеку DLL элемента управления, созданную и доступную для использования.
Создание первоначального проекта ATL с помощью мастера проектов ATL
В Visual Studio 2017 и более ранних версиях: файл>нового>проекта. Откройте вкладку Visual C++ и выберите MFC/ATL. Выберите проект ATL.
В Visual Studio 2019: выберите >новый>проект, введите atl в поле поиска и выберите ATL Project.
Введите Polygon в качестве имени проекта.
Расположение исходного кода обычно по умолчанию имеет значение \Users\username>\<source\repos, а новая папка будет создана автоматически.
В Visual Studio 2019 примите значения по умолчанию и нажмите кнопку "ОК". В Visual Studio 2017 нажмите кнопку "ОК ", чтобы открыть мастер проекта ATL. Щелкните "Параметры приложения", чтобы просмотреть доступные параметры. Так как этот проект создает элемент управления, а элемент управления должен быть сервером внутрипроцессного процесса, оставьте тип приложения в виде библиотеки DLL. Щелкните OK.
Visual Studio создаст проект, создав несколько файлов. Эти файлы можно просмотреть в Обозреватель решений, разверните Polygon
объект. Ниже перечислены файлы.
Файл | Description |
---|---|
Polygon.cpp | Содержит реализацию DllMain , , DllRegisterServer DllCanUnloadNow DllGetClassObject и .DllUnregisterServer Также содержит карту объектов, которая является списком объектов ATL в проекте. Изначально это пусто. |
Polygon.def | Этот файл определения модуля предоставляет компоновщику сведения о экспорте, необходимых библиотеке DLL. |
Polygon.idl | Файл языка определения интерфейса, описывающий интерфейсы, относящиеся к объектам. |
Polygon.rgs | Этот скрипт реестра содержит сведения о регистрации библиотеки DLL программы. |
Polygon.rc | Файл ресурса, который изначально содержит сведения о версии и строку, содержащую имя проекта. |
Resource.h | Файл заголовка для файла ресурсов. |
Polygonps.def | Этот файл определения модуля предоставляет компоновщику сведения о экспорте, необходимых прокси-серверу и коду заглушки, поддерживающим вызовы между квартирами. |
stdafx.cpp | Файл, который будет #include stdafx.h. |
stdafx.h | Файл, который будет #include и предварительно компилировать файлы заголовков ATL. |
Файл | Description |
---|---|
Polygon.cpp | Содержит реализацию DllMain , , DllRegisterServer DllCanUnloadNow DllGetClassObject и .DllUnregisterServer Также содержит карту объектов, которая является списком объектов ATL в проекте. Изначально это пусто. |
Polygon.def | Этот файл определения модуля предоставляет компоновщику сведения о экспорте, необходимых библиотеке DLL. |
Polygon.idl | Файл языка определения интерфейса, описывающий интерфейсы, относящиеся к объектам. |
Polygon.rgs | Этот скрипт реестра содержит сведения о регистрации библиотеки DLL программы. |
Polygon.rc | Файл ресурса, который изначально содержит сведения о версии и строку, содержащую имя проекта. |
Resource.h | Файл заголовка для файла ресурсов. |
Polygonps.def | Этот файл определения модуля предоставляет компоновщику сведения о экспорте, необходимых прокси-серверу и коду заглушки, поддерживающим вызовы между квартирами. |
pch.cpp | Файл, который будет #include pch.h. |
pch.h | Файл, который будет #include и предварительно компилировать файлы заголовков ATL. |
В обозревателе решений щелкните правой кнопкой мыши проект
Polygon
.В контекстном меню выберите пункт "Свойства".
Щелкните компоновщик. Измените параметр Per-UserRedirection на "Да".
Щелкните OK.
На следующем шаге вы добавите элемент управления в проект.