Как создать приложение Winforms C++ / CLI в VS2012?
Я только что установил Visual Studio 2012 Express для рабочего стола. Я не вижу места для создания приложения с графическим интерфейсом на C++! Где это "Приложение Windows Form" используется в Visual C++ 2010? Где эти элементы управления перетаскиванием? Я установил это, потому что я получил детали, говорящие, что это поддерживает intellisense GUI ( Visual C++: Невозможно вызвать метод из другого класса)
Пожалуйста помоги!
2 ответа
Это неубедительный намек на то, что они хотят, чтобы вы прекратили создавать приложения Winforms C++/CLI. Однако сантехника все еще на месте, по крайней мере, для VS2012 и VS2013. Это может быть не так в будущем.
Вы можете превратить консольное приложение CLR в приложение Winforms с помощью этих шагов:
- Начните с Файл + Новый + Проект, узел CLR, Консольное приложение CLR
- Проект + Добавить новый элемент, узел пользовательского интерфейса, форму Windows
- Проект + Свойства, Линкер, Система, Подсистема = Windows
- Project + Properties, Linker, Advanced, точка входа = главная
Измените предварительно сгенерированный файл.cpp, чтобы он выглядел так:
#include "stdafx.h"
#include "MyForm.h"
namespace ConsoleApplication45 { // Change this!!
using namespace System;
using namespace System::Windows::Forms;
[STAThread]
int main(array<System::String ^> ^args)
{
Application::EnableVisualStyles();
Application::SetCompatibleTextRenderingDefault(false);
Application::Run(gcnew MyForm());
return 0;
}
}
Обратите внимание, что вам нужно изменить имя пространства имен на имя вашего проекта. Нажмите F5 для проверки. Вы можете оформить форму как обычно, когда все проверено.
ПРИМЕЧАНИЕ. Visual Studio 2015 имеет неприятную статическую ошибку порядка инициализации в CRT, которая может привести к мгновенному аварийному завершению работы приложения с AVE при запуске, если проект содержит какой-либо собственный код C++. Пока еще не исправленная ошибка, несколько неизбежная опасность удаления этих шаблонов проектов. Возможный обходной путь - изменить точку входа (4-я пуля).
Для проекта, нацеленного на x86, скопируйте и вставьте эту строку:
?mainCRTStartupStrArray@@$$FYMHP$01AP$AAVString@System@@@Z
Для проекта, нацеленного на x64, скопируйте и вставьте:
?mainCRTStartupStrArray@@$$FYMHP$01EAPE$AAVString@System@@@Z
Удалите #include «stdafx.h», и это хорошо работает для VS 2022. Форма должна быть написана вручную, поскольку поддержка конструктора форм была удалена, начиная с VS 2012.