Приложение win32 c visual studio что это
Использование визуального уровня на платформе Win32
Вы можете использовать интерфейсы API Composition среды выполнения Windows (также называемые визуальным уровнем) в приложениях Win32, чтобы создавать современные интерфейсы для пользователей Windows 10.
Полный код для этого руководства доступен на сайте GitHub: Пример приложения Win32 HelloComposition.
Предварительные условия
Для использования API размещения для UWP накладываются приведенные ниже предварительные требования.
-
Предполагается, что у вас есть опыт разработки приложений с помощью Win32 и UWP. См. также:
-
(Приступая к работе с Win32 и C++)
Как использовать интерфейсы API Composition из классического приложения Win32
При работе с этим руководством вы создадите простое приложение Win32 на C++ и добавите в него элементы композиции UWP. Основное внимание уделяется правильной настройке проекта, созданию кода взаимодействия и отрисовке простых элементов с помощью интерфейсов API Windows Composition. Завершенное приложение выглядит следующим образом.
Создание проекта C++ для Win32 в Visual Studio
Первым шагом является создание проекта приложения Win32 в Visual Studio.
Чтобы создать проект приложения Win32 на C++ с именем HelloComposition, сделайте следующее.
Откройте Visual Studio и выберите Файл > Создать > Проект.
Появится диалоговое окно Создать проект.
В категории Установлены разверните узел Visual C++ , а затем выберите Windows Desktop.
Выберите шаблон Классическое приложение Windows.
Введите имя HelloComposition, а затем нажмите кнопку ОК.
Visual Studio создаст проект и откроет редактор для основного файла приложения.
Настройка проекта для использования интерфейсов API среды выполнения Windows
Чтобы применить интерфейсы API среды выполнения Windows (WinRT) в приложении Win32, мы используем C++/WinRT. Чтобы добавить поддержку C++/WinRT, необходимо настроить проект Visual Studio.
В меню Проект откройте свойства проекта (Свойства HelloComposition) и убедитесь, что для следующих параметров заданы указанные значения.
- Для параметра Конфигурации выберите Все конфигурации. Для параметра Платформа выберите Все платформы.
- Свойства конфигурации >Общие >Версия Windows SDK = 10.0.17763.0 или более поздняя версия.
- Компоновщик >Ввод >Дополнительные зависимости — этот раздел должен содержать windowsapp.lib. Если эта зависимость отсутствует в списке, добавьте ее.
Изменение предварительно скомпилированного заголовка
Переименуйте stdafx.h и stdafx.cpp в pch.h и pch.cpp соответственно.
Установите для свойства проекта C/C++ > Предварительно скомпилированные заголовки > Предварительно скомпилированный заголовочный файл значение pch.h.
(Изменить > Найти и заменить > Найти в файлах.)
В pch.h добавьте winrt/base.h и unknwn.h .
На этом этапе рекомендуется выполнить сборку проекта, чтобы убедиться в отсутствии ошибок, прежде чем продолжить.
Создание класса для размещения элементов композиции
Чтобы разместить содержимое, созданное с помощью визуального уровня, создайте класс (CompositionHost) для управления взаимодействием и создания элементов композиции. Это потребует выполнить большую часть настройки для размещения интерфейсов API Composition. Потребуется:
Мы сделаем этот класс singleton, чтобы избежать проблем с потоками. Например, можно создать только одну очередь диспетчера для каждого потока, поэтому создание второго экземпляра CompositionHost в том же потоке вызовет ошибку.
При необходимости сверьтесь с полным кодом в конце руководства, чтобы убедиться в том, что весь код добавлен в соответствующе места при работе с этим руководством.
Добавьте новый файл класса в проект.
- В обозревателе решений щелкните проект HelloComposition правой кнопкой мыши.
- В контекстном меню выберите Добавить >Класс.
- В диалоговом окне Добавление класса укажите имя класса, CompositionHost.cs, а затем щелкните Добавить.
Добавьте заголовки и операторы using, необходимые для взаимодействия композиции.
Измените класс, чтобы использовать шаблон singleton.
- В CompositionHost.h сделайте конструктор частным.
- Объявите общедоступный статический метод GetInstance.
- В CompositionHost.cpp добавьте определение метода GetInstance.
В CompositionHost.h объявите частные переменные-члены DispatcherQueueController и DesktopWindowTarget для Compositor.
Добавьте общедоступный метод для инициализации объектов взаимодействия композиции.
В методе Initialize вызываются методы EnsureDispatcherQueue, CreateDesktopWindowTarget и CreateCompositionRoot. Эти методы создаются на следующих шагах.
- В CompositionHost.h объявите общедоступный метод Initialize, который принимает HWND в качестве аргумента.
- В CompositionHost.cpp добавьте определение метода Initialize.
Создайте очередь диспетчера в потоке, который будет использовать Windows Composition.
Необходимо создать Compositor в потоке с очередью диспетчера, поэтому этот метод вызывается первым во время инициализации.
- В CompositionHost.h объявите частный метод EnsureDispatcherQueue.
- В CompositionHost.cpp добавьте определение метода EnsureDispatcherQueue.
Зарегистрируйте окно приложения в качестве цели композиции.
- В CompositionHost.h объявите частный метод CreateDesktopWindowTarget, который принимает HWND в качестве аргумента.
- В CompositionHost.cpp добавьте определение метода CreateDesktopWindowTarget.
Создайте корневой контейнер для размещения визуальных объектов.
- В CompositionHost.h объявите частный метод CreateCompositionRoot.
- В CompositionHost.cpp добавьте определение метода CreateCompositionRoot.
Выполните сборку проекта, чтобы убедиться в отсутствии ошибок.
Эти методы настраивают компоненты, необходимые для взаимодействия между визуальным уровнем UWP и интерфейсами API Win32. Теперь вы можете добавить содержимое в приложение.
Добавление элементов композиции
Теперь, когда инфраструктура настроена, можно создать содержимое Composition, которое необходимо отобразить.
В этом примере вы добавите код, создающий квадрат SpriteVisual произвольного цвета с анимацией, которая удаляет его после небольшой задержки.
Добавьте элемент композиции.
- В CompositionHost.h объявите общедоступный метод AddElement, который принимает 3 значения с плавающей запятой в качестве аргументов.
- В CompositionHost.cpp добавьте определение метода AddElement.
Создание и отображение окна
Теперь можно добавить кнопку и содержимое композиции UWP в пользовательский интерфейс Win32.
В методе InitInstance измените размер создаваемого окна. (В этой строке измените CW_USEDEFAULT, 0 на 900, 672 .)
В функции WndProc добавьте case WM_CREATE в блок параметров message. В этом случае инициализируется CompositionHost и создается кнопка.
Кроме того, в функции WndProc обработайте нажатие кнопки, чтобы добавить элемент композиции в пользовательский интерфейс.
Добавьте case BTN_ADD в блок параметров wmId в блоке WM_COMMAND.
Теперь можно выполнить сборку приложения и запустить его. При необходимости сверьтесь с полным кодом в конце руководства, чтобы убедиться в том, что весь код добавлен в соответствующе места.
Если запустить приложение и нажать кнопку, в пользовательском интерфейсе должны отобразиться анимированные квадраты.
Как создать win32 project в visual studio 2019
Sign in
Sign in with
Tagged as
Stats
Comments and Discussions
it launch to me the follow compilation error:
thank you working fine
General News Suggestion Question Bug Answer Joke Praise Rant Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.
Создание проекта win32 api в среде visual studio
Создание нового проекта в Visual Studio
Не знаю в какую ветку разместить. Помню, когда учился, мы работали в Visual Studio и я создавал.
Создание проекта в Visual Studio Express 2010
У меня такая проблема:Нужно написать прогу на С++ . Обьясните как это сделать в VS если мне всякие.
Откройте мой пример, откройте имеющийся там диалог
и расставляйте кнопочки в свое удовольствие по аналогии с тем, что там есть!
Убедитесь, что ничего сложного.
Комментарий по коду
1. Двойным щелчком по res1.rc раскрываете его. Появляется вкладка с ресурсами.
2. Нажимаете на плюсик радом со словом Dialog.
3. Двойным щелчком по "SIMPLE" открываете диалог в редакторе ресурсов.
Справа будет панель элементов. Из нее выбирайте все что хочется до
Vertical Scrollbar (все что ниже работает только в MFC проекте).
Win32 in Visual Studio 2008
Я в С++ полный ноль, но хотелось бы создать простое приложение с интерфейсом(Button, Label.
Компиляция в среде visual studio 2010
Профи выручайте! Не могу найти кнопку компиляции в визуаль студио 2010, создал файл с расширением.
Программа win32 на visual studio 2008 c++
Как пишется программа под windows на с++ в visual studio 2008 ? что нужно использовать и будут ли.
В этом пошаговом руководстве показано, как создать традиционное классическое приложение Windows в Visual Studio. В примере приложения, которое вы создадите, используется API Windows для отображения "Hello, Windows desktop!" в окне. Код, созданный в этом пошаговом руководстве, можно использовать в качестве шаблона для создания других классических приложений Windows.
Для краткости некоторые операторы кода опущены в тексте. В разделе "Сборка кода" в конце этого документа показан полный код.
Предварительные требования
Компьютер под управлением Microsoft Windows 7 или более поздних версий. Мы рекомендуем Windows 10 или более поздней версии для оптимальной разработки.
Копия Visual Studio. Сведения о скачивании и установке Visual Studio см. в этой статье. Когда вы запускаете установщик, убедитесь, что установлена рабочая нагрузка Разработка классических приложений на C++ . Не беспокойтесь, если вы не установили эту рабочую нагрузку при установке Visual Studio. Вы можете снова запустить установщик и установить ее сейчас.
Базовые значения об использовании интегрированной среды разработки Visual Studio. Если вы уже использовали классические приложения для Windows, вы, вероятно, справитесь. Общие сведения см. в обзоре возможностей интегрированной среды разработки Visual Studio.
Основные навыки владения языком C++. Не волнуйтесь, мы не будем делать ничего сложного.
Создание классического проекта Windows
Выполните следующие действия, чтобы создать свой первый Windows классический проект. По мере использования вы введете код для рабочего Windows классического приложения. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.
Создание классического проекта Windows в Visual Studio
В главном меню выберите Файл >Создать >Проект, чтобы открыть диалоговое окно Создание проекта.
В верхней части диалогового окна задайте языкC++, задайте для платформызначение Windows и задайте для Project тип "Рабочий стол".
В отфильтрованный список типов проектов выберите Windows мастер рабочего стола и нажмите кнопку "Далее". На следующей странице введите имя проекта, например DesktopApp.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе. Чтобы продолжить, перейдите к созданию кода.
Создание классического проекта Windows в Visual Studio 2017 г.
В меню Файл выберите команду Создать, а затем пункт Проект.
В диалоговом окне "Создать Project" в области слева разверните узел InstalledVisual>C++, а затем выберите Windows Desktop. В средней области выберите мастер Windows рабочего стола.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе. Чтобы продолжить, перейдите к созданию кода.
Создание классического проекта Windows в Visual Studio 2015 г.
В меню Файл выберите команду Создать, а затем пункт Проект.
В диалоговом окне "Создать Project" в области слева разверните узел InstalledTemplatesVisual> >C++, а затем выберите Win32. В средней области выберите шаблон Проект Win32.
На странице "Обзор " мастера приложений Win32 нажмите кнопку "Далее".
На странице "Приложение Параметры" в разделе "Тип приложения" выберите Windows приложение. В разделе "Дополнительные параметры" снимите флажок предварительно скомпилированного заголовка, а затем выберите " Пустой проект". Чтобы создать проект, нажмите кнопку Готово.
В Обозреватель решений щелкните правой кнопкой мыши проект DesktopApp, выберите "Добавить" и выберите "Создать элемент".
В диалоговом окне Добавление нового элемента выберите Файл C++ (.cpp). В поле "Имя" введите имя файла, например HelloWindowsDesktop.cpp. Выберите Добавить.
Теперь проект создан, и исходный файл откроется в редакторе.
Создание кода
Далее вы узнаете, как создать код для классического приложения Windows в Visual Studio.
Запуск классического приложения Windows
Так же, как каждое приложение C и приложение C++ должны иметь функцию в качестве отправной main точки, каждое Windows классическое приложение должно иметь WinMain функцию. WinMain имеет следующий синтаксис:
Сведения о параметрах и возвращаемых значениях этой функции см. в разделе "Точка входа WinMain".
Что такое все эти дополнительные слова, такие как WINAPI , или CALLBACK , или, или HINSTANCE , или _In_ ? Традиционный API Windows использует методы typedefs и макросы препроцессора для абстрагирования некоторых подробностей типов и кода для конкретной платформы, таких как соглашения о вызовах, __declspec объявления и прагмы компилятора. В Visual Studio можно использовать функцию быстрой информации IntelliSense, чтобы узнать, что определяют эти определения типов и макросов. Наведите указатель мыши на интересующее слово или нажмите клавиши CTRLK, CTRLI++ для небольшого всплывающего окна, содержащего определение. Дополнительные сведения см. в разделе Using IntelliSense. Параметры и типы возвращаемых значений часто используют заметки SAL для перехвата ошибок программирования. Дополнительные сведения см. в статье "Использование заметок SAL для уменьшения дефектов кода C/C++".
Windows требуются классические программы. TCHAR определяет макрос, который разрешается в конечном счете wchar_t , если символ ЮНИКОД определен в проекте, в противном случае он разрешается в char . Если вы всегда создаете сборку с поддержкой ЮНИКОДа, вам не требуется TCHAR и может использоваться напрямую wchar_t .
Наряду с функцией WinMain каждый Windows классическое приложение также должно иметь функцию window-procedure. Обычно эта функция называется WndProc , но ее можно присвоить любое имя. WndProc имеет следующий синтаксис:
Дополнительные сведения см. в разделе Процедуры окна.
Добавление функциональных возможностей в функцию WinMain
WinMain В функции вы заполняете структуру типа WNDCLASSEX. Структура содержит сведения о окне: значок приложения, цвет фона окна, имя, отображаемое в заголовке строки, помимо прочего. Важно отметить, что он содержит указатель функции на процедуру окна. В приведенном ниже примере показана типичная структура WNDCLASSEX .
Сведения о полях приведенной выше структуры см. в разделе WNDCLASSEX.
Теперь можно создать окно. Используйте функцию CreateWindowEx .
Эта функция возвращает HWND дескриптор окна. Дескриптор немного похож на указатель, который Windows используется для отслеживания открытых окон. Дополнительные сведения см. в разделе Типы данных Windows.
На этом этапе окно было создано, но нам все равно нужно сообщить Windows, чтобы сделать его видимым. Вот что делает этот код:
На этом этапе функция WinMain должна напоминать приведенный ниже код.
Добавление функциональных возможностей в функцию WndProc
HDC в коде — это дескриптор контекста устройства, который используется для рисования в клиентской области окна. Используйте функции для EndPaint подготовки BeginPaint и завершения рисования в клиентской области. BeginPaint возвращает дескриптор контексту устройства отображения, используемому для рисования в клиентской области; EndPaint завершает запрос на рисование и освобождает контекст устройства.
Сборка кода
Как и было обещано, ниже приведен полный код для рабочего приложения.
Сборка примера
Удалите любой код, введенный в HelloWindowsDesktop.cpp в редакторе. Скопируйте этот пример кода и вставьте его в HelloWindowsDesktop.cpp:
В меню Построение выберите Построить решение. Результаты компиляции должны отображаться в окне вывода в Visual Studio.
Чтобы запустить приложение, нажмите клавишу F5. Окно, содержащее текст "Hello, Windows desktop!", должно появиться в левом верхнем углу экрана.
Поздравляем! Вы выполнили это пошаговое руководство и создали традиционное классическое приложение Windows.
классическое приложение на C++ — это собственное приложение, которое имеет доступ к полному набору интерфейсов Windows api и запускается в окне или в системной консоли. настольные приложения на C++ могут работать в Windows xp с помощью Windows 11 (хотя Windows xp более официально не поддерживается и существует множество api-интерфейсов Windows, которые появились с момента этого).
классическое приложение отличается от приложения универсальная платформа Windows (UWP), которое может выполняться на компьютерах под управлением Windows 11, Windows 10, XBox, Windows Phone, Surface Hub и других устройств. Дополнительные сведения о настольных и универсальных приложениях UWP см. в статье Выбор технологии.
Мост для классических приложений
в Windows 10 и более поздних версиях можно упаковать существующее классическое приложение или COM-объект в качестве приложения UWP. приложения могут добавлять функции UWP, например сенсорный ввод, или вызывать api из современного набора api Windows. можно также добавить приложение UWP в решение для настольных систем в Visual Studio и упаковать их вместе в одном пакете и использовать интерфейсы Windows api для взаимодействия между ними.
в Visual Studio 2017 версии 15,4 и более поздних версиях можно создать Windows пакет приложения Project, чтобы значительно упростить работу по упаковке существующего настольного приложения. В отношении того, какие вызовы реестра или API-интерфейсы используются настольным приложением, применяются некоторые ограничения, но во многих случаях можно создать альтернативные пути кода для обеспечения аналогичной функциональности при работе в пакете приложения. Дополнительные сведения см. в статье Мост для классических приложений.
Терминология
Модель COM — это спецификация, которая позволяет программам, написанным на разных языках, взаимодействовать друг с другом. многие компоненты Windows реализуются как com-объекты и следуют стандартным правилам COM для создания объектов, обнаружения интерфейсов и уничтожения объектов. Использование объектов COM из классических приложений C++ относительно просто, но написание собственного COM-объекта является более сложным. Библиотека активных шаблонов (ATL) предоставляет макросы и вспомогательные функции, УПРОЩАЮЩИЕ разработку com.
любое классическое приложение в C++ может использовать среду выполнения C (CRT), классы и функции стандартной библиотеки, COM-объекты и открытые функции Windows, которые вместе называются Windows API. общие сведения о Windows классических приложениях на c++ см. в разделе Начало работы с Win32 и C++.
Вы можете использовать интерфейсы API Composition среды выполнения Windows (также называемые визуальным уровнем) в приложениях Win32, чтобы создавать современные интерфейсы для пользователей Windows 10.
Полный код для этого руководства доступен на сайте GitHub: Пример приложения Win32 HelloComposition.
Предварительные условия
Для использования API размещения для UWP накладываются приведенные ниже предварительные требования.
-
Предполагается, что у вас есть опыт разработки приложений с помощью Win32 и UWP. См. также:
- Для параметра Конфигурации выберите Все конфигурации. Для параметра Платформа выберите Все платформы.
- Свойства конфигурации>Общие>Версия Windows SDK = 10.0.17763.0 или более поздняя версия.
- Компоновщик>Ввод>Дополнительные зависимости — этот раздел должен содержать windowsapp.lib. Если эта зависимость отсутствует в списке, добавьте ее.
- В обозревателе решений щелкните проект HelloComposition правой кнопкой мыши.
- В контекстном меню выберите Добавить>Класс.
- В диалоговом окне Добавление класса укажите имя класса, CompositionHost.cs, а затем щелкните Добавить.
- В CompositionHost.h сделайте конструктор частным.
- Объявите общедоступный статический метод GetInstance.
- В CompositionHost.cpp добавьте определение метода GetInstance.
- В CompositionHost.h объявите общедоступный метод Initialize, который принимает HWND в качестве аргумента.
- В CompositionHost.cpp добавьте определение метода Initialize.
- В CompositionHost.h объявите частный метод EnsureDispatcherQueue.
- В CompositionHost.cpp добавьте определение метода EnsureDispatcherQueue.
- В CompositionHost.h объявите частный метод CreateDesktopWindowTarget, который принимает HWND в качестве аргумента.
- В CompositionHost.cpp добавьте определение метода CreateDesktopWindowTarget.
- В CompositionHost.h объявите частный метод CreateCompositionRoot.
- В CompositionHost.cpp добавьте определение метода CreateCompositionRoot.
- В CompositionHost.h объявите общедоступный метод AddElement, который принимает 3 значения с плавающей запятой в качестве аргументов.
- В CompositionHost.cpp добавьте определение метода AddElement.
-
(Приступая к работе с Win32 и C++)
Как использовать интерфейсы API Composition из классического приложения Win32
При работе с этим руководством вы создадите простое приложение Win32 на C++ и добавите в него элементы композиции UWP. Основное внимание уделяется правильной настройке проекта, созданию кода взаимодействия и отрисовке простых элементов с помощью интерфейсов API Windows Composition. Завершенное приложение выглядит следующим образом.
Создание проекта C++ для Win32 в Visual Studio
Первым шагом является создание проекта приложения Win32 в Visual Studio.
Чтобы создать проект приложения Win32 на C++ с именем HelloComposition, сделайте следующее.
Откройте Visual Studio и выберите Файл>Создать>Проект.
Появится диалоговое окно Создать проект.
В категории Установлены разверните узел Visual C++ , а затем выберите Windows Desktop.
Выберите шаблон Классическое приложение Windows.
Введите имя HelloComposition, а затем нажмите кнопку ОК.
Visual Studio создаст проект и откроет редактор для основного файла приложения.
Настройка проекта для использования интерфейсов API среды выполнения Windows
Чтобы применить интерфейсы API среды выполнения Windows (WinRT) в приложении Win32, мы используем C++/WinRT. Чтобы добавить поддержку C++/WinRT, необходимо настроить проект Visual Studio.
В меню Проект откройте свойства проекта (Свойства HelloComposition) и убедитесь, что для следующих параметров заданы указанные значения.
Изменение предварительно скомпилированного заголовка
Переименуйте stdafx.h и stdafx.cpp в pch.h и pch.cpp соответственно.
Установите для свойства проекта C/C++>Предварительно скомпилированные заголовки>Предварительно скомпилированный заголовочный файл значение pch.h.
(Изменить>Найти и заменить>Найти в файлах.)
В pch.h добавьте winrt/base.h и unknwn.h .
На этом этапе рекомендуется выполнить сборку проекта, чтобы убедиться в отсутствии ошибок, прежде чем продолжить.
Создание класса для размещения элементов композиции
Чтобы разместить содержимое, созданное с помощью визуального уровня, создайте класс (CompositionHost) для управления взаимодействием и создания элементов композиции. Это потребует выполнить большую часть настройки для размещения интерфейсов API Composition. Потребуется:
Мы сделаем этот класс singleton, чтобы избежать проблем с потоками. Например, можно создать только одну очередь диспетчера для каждого потока, поэтому создание второго экземпляра CompositionHost в том же потоке вызовет ошибку.
При необходимости сверьтесь с полным кодом в конце руководства, чтобы убедиться в том, что весь код добавлен в соответствующе места при работе с этим руководством.
Добавьте новый файл класса в проект.
Добавьте заголовки и операторы using, необходимые для взаимодействия композиции.
Измените класс, чтобы использовать шаблон singleton.
В CompositionHost.h объявите частные переменные-члены DispatcherQueueController и DesktopWindowTarget для Compositor.
Добавьте общедоступный метод для инициализации объектов взаимодействия композиции.
В методе Initialize вызываются методы EnsureDispatcherQueue, CreateDesktopWindowTarget и CreateCompositionRoot. Эти методы создаются на следующих шагах.
Создайте очередь диспетчера в потоке, который будет использовать Windows Composition.
Необходимо создать Compositor в потоке с очередью диспетчера, поэтому этот метод вызывается первым во время инициализации.
Зарегистрируйте окно приложения в качестве цели композиции.
Создайте корневой контейнер для размещения визуальных объектов.
Выполните сборку проекта, чтобы убедиться в отсутствии ошибок.
Эти методы настраивают компоненты, необходимые для взаимодействия между визуальным уровнем UWP и интерфейсами API Win32. Теперь вы можете добавить содержимое в приложение.
Добавление элементов композиции
Теперь, когда инфраструктура настроена, можно создать содержимое Composition, которое необходимо отобразить.
В этом примере вы добавите код, создающий квадрат SpriteVisual произвольного цвета с анимацией, которая удаляет его после небольшой задержки.
Добавьте элемент композиции.
Создание и отображение окна
Теперь можно добавить кнопку и содержимое композиции UWP в пользовательский интерфейс Win32.
В методе InitInstance измените размер создаваемого окна. (В этой строке измените CW_USEDEFAULT, 0 на 900, 672 .)
В функции WndProc добавьте case WM_CREATE в блок параметров message. В этом случае инициализируется CompositionHost и создается кнопка.
Кроме того, в функции WndProc обработайте нажатие кнопки, чтобы добавить элемент композиции в пользовательский интерфейс.
Добавьте case BTN_ADD в блок параметров wmId в блоке WM_COMMAND.
Теперь можно выполнить сборку приложения и запустить его. При необходимости сверьтесь с полным кодом в конце руководства, чтобы убедиться в том, что весь код добавлен в соответствующе места.
Если запустить приложение и нажать кнопку, в пользовательском интерфейсе должны отобразиться анимированные квадраты.
Мастер классических приложений Windows заменяет мастер приложений Win32 в Visual Studio 2017 и более поздних версиях. Мастер позволяет создать любой из четырех типов проектов C++ (перечисленных в заголовке в таблице ниже). В каждом случае можно указать дополнительные параметры, подходящие для открытого вами типа проекта.
В таблице ниже показано, какие параметры доступны для каждого типа приложения.
Тип поддержки | Консольное приложение | Исполняемое приложение (Windows) | Библиотека динамической компоновки | Статическая библиотека |
---|---|---|---|---|
Пустой проект | Да | Да | Да | Нет |
Символы экспорта | Нет | Нет | Да | Нет |
Предкомпилированный заголовок | Нет | Нет | Нет | Да |
поддержка ATL | Да | Нет | Нет | Нет |
поддержка MFC | Да | Нет | Нет | Да |
Обзор
На этой странице мастера описываются текущие параметры проекта для создаваемого приложения Win32. По умолчанию заданы следующие параметры:
проект является приложением Windows;
проект не пустой;
проект не содержит символов экспорта;
проект не использует файл предкомпилированного заголовка (этот параметр доступен только для проектов статической библиотеки);
проект не включает поддержку MFC и ATL.
Тип приложения
Создает указанный тип приложения.
Дополнительные параметры
Определяет поддержку и параметры приложения в зависимости от его типа.
Добавьте общие заголовки для:
Добавьте поддержку одной из библиотек, предоставляемых в Visual C++.
Remarks
Создав классическое приложение Windows, можно добавить универсальные классы C++ с помощью мастера универсального кода. Можно добавить другие элементы, такие как файлы HTML, файлы заголовков, ресурсы или текстовые файлы.
Классы ATL добавить нельзя, а классы MFC можно добавить только в те типы классических приложений Windows, которые поддерживают MFC (см. предыдущую таблицу).
Файлы, созданные мастером для проекта, можно просмотреть в обозревателе решений. Дополнительные сведения о файлах, создаваемых мастером для проекта, см. в файле, созданном проектом. ReadMe.txt Дополнительные сведения о типах файлов, созданных для Visual Studio проектов C++.
Читайте также: