Как создать проект winapi c в visual studio 2019
Создание нового проекта в Visual Studio
Не знаю в какую ветку разместить. Помню, когда учился, мы работали в Visual Studio и я создавал.
Создание проекта в Visual Studio Express 2010
У меня такая проблема:Нужно написать прогу на С++ . Обьясните как это сделать в VS если мне всякие.
После чего нажимаете далее до победного и готово!! Может имеется ввиду редактор диалогов.
1. Добавляете к файлам проекта xxxx.rc файл.
2. Двойным щелчком по нему раскрываете его. Появляется вкладка с ресурсами.
3. Правой кнопкой мыши выбрать "добавить ресурс"
4. Выбрать оттуда Диалог и нажать кнопку "Создать"
Вот пример программы для VS 2008 на базе диалога:
Вложение 487464 Спасибо,посмотрю, а вообще я имел ввиду мне нужно чтобы я сам формочку рисовал и кнопки раскидывал без написания кода для этого Return0, ээээээээээхххххххххх, если бы все было так просто!!
Откройте мой пример, откройте имеющийся там диалог
и расставляйте кнопочки в свое удовольствие по аналогии с тем, что там есть!
Убедитесь, что ничего сложного.
Комментарий по коду
по работе похож на шарп, по языку на С++, но есть свои нюансы, и их немало, на данном форуме есть ветка
если нужно создавать диалоги то есть MFC,при двойном щелчке на элемент генерирует код
WinApi все вручную
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 ? что нужно использовать и будут ли.
Вы можете использовать интерфейсы 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.
Теперь можно выполнить сборку приложения и запустить его. При необходимости сверьтесь с полным кодом в конце руководства, чтобы убедиться в том, что весь код добавлен в соответствующе места.
Если запустить приложение и нажать кнопку, в пользовательском интерфейсе должны отобразиться анимированные квадраты.
Шаг 0. А вдруг получится сразу?
В настоящее время IDE, поддерживающих Windows forms, не так много — буквально одна только Visual Studio, более известная как просто "студия". Поэтому будем рассматривать создание и решение проблем именно в этой среде разработки. Первым шагом запустим студию, начнём создавать новый проект и попытаемся найти Windows forms проект для C++:
Если у вас более старая версия Visual Studio, то интерфейс будет выглядеть немного иначе, однако данная функциональность будет той же. Также не исключено, что у Вас может быть данный тип проекта для C++ (на некоторых версиях формы для C++ были доступны сразу после установки IDE). Если же у Вас, как и у нас поиск не дал нужных результатов, то переходим к следующему шагу.
Шаг 1. Создание CLR проекта
Поскольку непосредственно Windows Forms проекта у нас не оказалось, мы обхитрим студию и создадим пустой CLR проект на С++. Для этого в том же окне поиска необходимо найти и выбрать Новый CLR проект , ввести имя (если нужно, то поменять директорию расположения проекта) и немного подождать, пока студия сделает свою работу.
В результате Visual Stido создаст новый C++ CLR проект, который будет выглядеть примерно так:
Шаг 2. Добавить форму
Чтобы сделать CLR проект проектом Windows Forms, нужно просто добавить в него форму. Для этого в верхнем меню нужно выбрать Проект - Добавить новый элемент и в появившемся окне выбрать категорию Visual C++ - UI и затем выбрать Форма Windows Forms .
После данной операции нас ждёт разочарование в виде ошибки Исключение из HRESULT: 0x8000000A :
Шаг 3. Исправляем появившуюся ошибку
Данная ошибка появляется из-за того, что для создания окна формы приложению необходима основная программа, создающая форму и переключающая управление на неё, однако после добавления новой формы файл Form1.cpp предсказуемо создаётся пустым. Поэтому необходимо добавить основную программу в файл с формой:
В результате код файла Form1.cpp будет выглядеть следующим образом:
Шаг 4. Переоткрыть проект
Всё, что теперь осталось сделать — это закрыть текущее решение, а затем открыть его снова. Для этого можно закрыть саму студию, а можно выбрать в верхнем меню Файл - Закрыть решение , после чего в появившемся окне выбрать только что созданный проект и открыть его заново.
Благодаря добавленному коду основной программы, студия сможет создать форму и на экране появится изображение формы, на которую можно будет добавлять компоненты, задавать их свойства, а также свойства самой формы.
Выпускник МГУ им. М.В. Ломоносова
Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.
Поскольку мне всё равно пришлось ставить Visual Studio Community для того, чтобы установить Windows Kits для работы с WinAPI, то я решил не использовать MingW, а доустановить C++ build tools и использовать их для компиляции. В этом случае придётся переделать задачи (tasks) и настройки VSCode.
Хорошее описание нашёл здесь, его и буду использовать в данной заметке.
Нам потребуется
1. Естественно нам потребуется сама программа VSCode.
2. В Visual Studio Community должен быть установлен компонент Desktop development with C++ :
Чтобы проверить успешную установку, достаточно вызвать Developer Command Prompt for VS 2019 (файл VsDevCmd.bat ) из Пуска. Там нужно запустить файл cl.exe . Вывод консоли должен быть без ошибок:
3. Для VSCode должно быть установлено дополнение (расширение) Microsoft C/C++
Настройка
4. В Проводнике открываем рабочую папку проекта и, удерживая Shift , нажимаем правую кнопку мыши, после чего выбираем Open PowerShell window here
5. В открывшемся окошке PowerShell запускаем VSCode, для этого нужно набрать code . и нажать Enter :
9. Открываем палитру команд с помощью комбинации клавиш Ctrl + Shift + P
10. Список большой, поэтому проще ввести часть слова и выбрать нужную команду Edit Configurations UI из списка:
11. В конфигурации необходимо проверить, а, при необходимости, установить путь для компилятора:
12. Внесём изменения в файл settings.json :
13. Ранее я уже создавал файл Задач tasks.json, поэтому сейчас я добавлю к нему новые строчки:
14. Чтобы у нас была возможность запустить проект на отладку, можно использовать файл launch.json . Но я не хочу создавать такой файл для каждого проекта каждый раз, поэтому сделаю глобальную конфигурацию. Для этого я добавлю строчки в файл settings.json :
Благодаря этому, при нажатии F5 , проект будет откомпилирован, а потом запущен сразу после этого. Просто запустить, без отладки, можно комбинацией Ctrl + F5
Читайте также: