Windows Forms в C++ для Visual Studio 2012, 2013

Начиная с Visual Studio 2012, в Microsoft Visual C++ отсутствует возможность непосредственного создания проектов Windows Forms. Это доставляет немало неудобств разработчикам.

Однако сама возможность использования этой технологии не исключена и поэтому проект, для приложения Windows Forms, можно создать вручную.

Для этого необходимо вначале создать пустой проект CLR и настроить его параметры.

В свойствах проекта необходимо выбрать ветку «Компоновщик» – «Система» и в строке «Подсистема» выбрать Windows.

После этого в ветке «Дополнительно» в строке «Точка входа» следует указать названии функции, которая будет являться точкой входа в программу.

На этом настройка проекта завершена.

Теперь необходимо создать главное окно программы и описать в нём точку входа.

Для этого в контекстном меню обозревателя решения Visual Studio выберем «Добавить» – « Создать элемент» и в открывшемся окне в ветке UI выберем Форма Windows Forms.

После добавления формы в проекте появятся файлы с её исходным кодом. Файл залоговка (в данном примере MyForm.h) и файл исходного кода (в данном примере, MyForm.cpp), в котором и следует описать точку входа в программу.

Точка входа программу представляет собой простую функцию, состоящую всего из 4х строк кода.

Вначале подключаем необходимые для работы модули.

using namespace System;
using namespace System::Windows::Forms;

Указываем атрибут потока STAThread, в котором будет выполняться функция, которая является точкой входа. Атрибут означает, что стартовый поток будет работать в Single Threaded COM-Apartment. Это нужно для объектов Windows Forms, которые работают в этом потоке.

[STAThread]

После этого уже можно приступать непосредственно к описанию точки в хода (функция main).

Вначале включаем визуальные стили с помощью метода EnableVisualStyles() ,и, используя метод SetCompatibleTextRenderingDefault,задаём технологию визуализации графического интерфейса.

Далее запускаем приложение с созданной формой в качестве главного окна.

Проект1::MyForm Form;
Application::Run(%Form);

В итоге файл исходного кода с функцией main выглядит следующим образом.

#include "MyForm.h"
using namespace System;
using namespace System::Windows::Forms;
[STAThread]
void main(array<String^>^ args)
{
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
    Проект1::MyForm Form;
    Application::Run(%Form);
}

С помощью этого нехитрого способа можно разрабатывать приложения с использованием Windows Forms на C++ в Visual Studio 2012 и 2013.

Бесспорно, данный подход гораздо менее удобен по сравнению с непосредственным созданием проекта Windows Forms, которое было доступно вплоть до Visual Studio 2010 включительно. Но, к сожалению, новые версии пока не могут предложить разработчикам ничего другого. Остаётся надеяться, что в будущих версиях этот недостаток всё же будет устранён.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *