Visual Studio 2013 и выше: как сделать приложение Windows Forms?
Ну да, такого «мастера приложений с одной главной формой», как в версии 2010, нет. Но это не значит, что работа с формами не поддерживается — просто создавайте пустой проект CLR и добавляйте форму в него «вручную». Вот весь процесс, расписанный по шагам:
Меню Создать проект, Visual C++, CLR, Пустой проект CLR.
После создания проекта нажать на вкладку Проект, Добавить новый элемент, UI, форма Windows Form. Потом добавить следующий код в файл MyForm.cpp
:
#include "MyForm.h" //Здесь пишем имя h-файла вашей формы! using namespace Example1; //Здесь пишем имя вашего проекта! [STAThreadAttribute] int main(array<System::String ^> ^args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Application::Run(gcnew MyForm()); //Тоже пишем имя своей формы, если оно не MyForm return 0; }
Далее нажимаем вкладку Проект, Свойства имя_текущего_проекта.
Выбираем Свойства конфигурации, Компоновщик, Система, справа в поле Подсистема вставляем Windows (строку /SUBSYSTEM:WINDOWS
).
Затем Свойства конфигурации, Компоновщик, Дополнительно, справа поле Точка входа, вставляем строку main
Приведённый вариант кода MyForm.cpp
— не единственный, в новых версиях Studio лучше делать так:
#include "MyForm.h" using namespace System; using namespace System::Windows::Forms; [STAThread] int main(array<String^>^ arg) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Project1::MyForm form; //Вместо Project1 - имя вашего проекта Application::Run(%form); return 0; }
Это всё, можно работать.
Для экспорта шаблона делаем следующее: из меню «Файл» выбираем пункт «Экспорт шаблона». В появившимся мастере шаблонов соглашаемся со всем, только проверяем, чтобы стояла галочка на «Автоматический импорт шаблонов в Visual Studio». Жмем Готово. Теперь в мастере проектов появился новый пункт.
P.S. Проверил в Visual Studio 2015, подход также сработал. Увы, экспорт шаблона в некоторых сборках версий Studio 2015 и 2017 может работать криво, не добавляя в шаблон файлы .cpp и .h!
P.P.S. В Visual Studio 2019 действия те же, но если после установки Visual Studio 2019 отсутствует конструктор формы Windows Forms, читаем и ставим это.
Если устанавливается актуальная сборка версии Enterprice (16.5.X и старше), установить рабочую нагрузку «Разработка классических приложений» и из раздела «Дополнительные компоненты» отметить «Поддержка C++/CLI» (C++/CLI Support)
Цитируем официальную доку:
«В Visual Studio 2017 и более поздних версиях поддержка C++/CLI является необязательным компонентом. Чтобы установить его, откройте Visual Studio Installer из меню «Пуск» Windows. Убедитесь, что установлен флажок Разработка классических приложений на C++, и в разделе Дополнительные компоненты также следует проверить поддержку C++/CLI.
«Individual Components» (Индивидуальные компоненты) — «Поддержка C++/CLI» («C++/CLI support»)»
Возможно, без обновления версии поможет вот это дополнение.
В версии Studio 2019 примерно со сборки 16.5 (см. меню Справка — О программе) отдельно «доставлять» конструктор форм не нужно, создаваемый тип проекта называется «Пустой проект CLR (.NET Framework)», а сохранить шаблон можно из меню Проект — Экспорт шаблона.
В принципе, для работы с C++ и Windows Forms нужны только следующие нагрузки:
Рабочие нагрузки VS 2019 CPP
09.02.2015, 14:54 [16525 просмотров]
К этой статье пока нет комментариев, Ваш будет первым
-
-
February 24 2016, 12:20
- IT
- Cancel
http://mvblog.ru/archives/861
Сегодня я хочу рассказать о том, как создать проект Windows Forms на C++ в IDE Visual Studio 2013. Дело в том, что, начиная с VS 2012, в списке проектов, которые можно создать, убрали пункт Приложение Windows Forms. Я сейчас говорю о том, который на C++, создать такой проект на C# можно, выбрав соответствующий пункт в разделе создаваемых проектов. Однако тот факт, что такой проект нельзя выбрать из списка, не говорит о том, что его нельзя создать самому. Именно об этом я и хочу рассказать в этой статье.
Первое, что потребуется сделать — запустить Visual Studio. Как только VS запустили, нажимаем последовательно Файл → Создать → Проект
После этого в открывшемся окне будет предложено выбрать тип проекта. Нам необходимо выбрать в разделе Visual C++ подраздел CLR и выбрать пункт Пустой проект CLR.
Когда проект будет создан, в обозревателе решений кликаем правой кнопкой мыши по созданному проекту. В открывшемся контекстном меню последовательно выбираем Добавить → Создать элемент и в открывшемся меню в разделе UI выбираем Форма Windows Forms
Когда форма будет добавлена, в обозревателе решений выбираем файл MyForm.cpp. Перед вами откроется новая вкладка с единственной строчкой кода:
#include "MyForm.h"
В этот файл нам необходимо добавить следующий код:
using namespace System; using namespace System::Windows::Forms; [STAThreadAttribute] void Main(array<String^>^ args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Project1::MyForm form; Application::Run(%form); }
После этого в свойствах проекта. Выбираем подраздел Система раздела Компоновщик и в строке Подсистема из выпадающего меню выбираем Windows (/SUBSYSTEM:WINDOWS) и нажимаем Применить.
Не закрывая окно свойств проекта, переходим в подраздел Дополнительно и в строке Точка входа пишемMain и после этого нажимаем клавишу ОК.
На этом настройки проекта заканчиваются. Для редактирования внешнего вида формы, необходимо перейти во вкладку MyForm.h [Конструктор], кликнув дважды по файлу MyForm.h в обозревателе решений.
- Remove From My Forums
-
Question
-
In VS C++ 2010, the template is easy to find: New Project -> Visual C++ -> CLR -> Windows Forms Application.
In VS C++ 2013 RC, New Project -> Visual C++ -> CLR doesn’t have Windows Forms Application template.
The following link doesn’t help because it’s for C#, only.
http://msdn.microsoft.com/en-us/library/vstudio/dd492132(v=vs.120).aspx
Is this a bug (or a design flaw) in VS 2013 Release Candidate?
Since this is only an «RC», it’s a «candidate» for release, and maybe the final release will correct this defect?
Is there a way to manually create a Windows Forms Application?
Answers
-
Turns out these were removed/hidden starting with VS 2012. The underlying implementation files were still present (which is what I initially checked), but have since been removed for VS 2013 RC/RTM.
According to the VC++ team, the primary intent of C++/CLI was to provide for great interop solutions, and not another full-featured .NET language. So if you’re looking to build a new .NET based desktop apps, C# or VB.NET are the recommended choices
going forward.You can still develop/build C++/CLI Winform projects, but given that C++/CLI will never be as fully featured as C# and VB in this space, they opted to pull these from the new project dialog, as a way of steering customers to the
recommended choices.Sincerely,
Ed Dore
-
Proposed as answer by
Thursday, September 12, 2013 10:37 PM
-
Marked as answer by
May Wang — MSFT
Thursday, September 19, 2013 1:42 AM
-
Proposed as answer by
Начиная с 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, которые работают в этом потоке.
После этого уже можно приступать непосредственно к описанию точки в хода (функция 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^ args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Проект1::MyForm Form; Application::Run(%Form); } |
С помощью этого нехитрого способа можно разрабатывать приложения с использованием Windows Forms на C++ в Visual Studio 2012 и 2013.
Бесспорно, данный подход гораздо менее удобен по сравнению с непосредственным созданием проекта Windows Forms, которое было доступно вплоть до Visual Studio 2010 включительно. Но, к сожалению, новые версии пока не могут предложить разработчикам ничего другого. Остаётся надеяться, что в будущих версиях этот недостаток всё же будет устранён.
bogotobogo.com site search:
Application using visual studio
In this section, we will build UI application using Windows Form provided by Visual Studio 2013.
In Project Setup stage for deploy, VS 2012 will be used. Express versions will work except the project setup for deployment.
The app is a very simple random number generator with two buttons (Generator/Reset), 7 Labels for the display of the random numbers with a PictureBox.
For WPF (Windows Presentation Foundation), please visit WPF & XAML.
Source: Dilbert
The simplest UI program
- Select Visual C++ CLR and CLR Empty Project
and type in RandomNumberGenerator for the project name. The, OK. - Project->Add New Item… .
Select UI under Visual C++.
Leave the Form name as given by default MyForm.h.
Then, click Add. - We need to edit the MyForm.cpp file:
#include "MyForm.h" using namespace System; using namespace System::Windows::Forms; [STAThread] void Main(array<String^>^ args) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); RandomNumberGenerator::MyForm form; Application::Run(%form); }
The System namespace provides functions to work with UI controls.
-
At the right-mouse click on RandomNumberGenerator, we get the Properties window.
Configuration Properties->Linker->System
Select Windows (/SUBSYSTEM:WINDOWS) for SubSystem.
Advanced->Entry Point, type in Main.
The, hit OK. - Hit F5, then we will have to run result, the Form.
UI Setup
- Locate the ToolBox, and then expand the list of Common Controls.
Double-click its Label items to add it to our Form.
Do this seven times.
We need to add two Buttons and a PixtureBox.
Double-click those as well from the list. - Resize and rearrange the items. Rename the buttons and tile of the Form, then it should look like this:
- We can put the picture onto the PictureBox.
At a right mouse click, we get Choosing Picture….
Then, select the image file we want to use. - Let’s try if it works.
Run it (Hit F5).
Event handling code for UI components
- Let’s look at the file MyForm.h.
#pragma once namespace RandomNumberGenerator { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; /// /// Summary for MyForm /// public ref class MyForm : public System::Windows::Forms::Form { public: MyForm(void) { InitializeComponent(); // //TODO: Add the constructor code here // } ...
It begins with a pragma once directive.
To VS compiler, it means only open this file once during the compilation.
Also, as explained it before, the System namespace gives us functions to deal with UI controls.
The line public ref class MyForm : public System::Windows::Forms::Form defines a derived class named MyForm. The members of the class are the interface components. - To get a skeleton code for events, select the Generate button (button1), then type in button1_Click into for the Click under Action of the Properties window.
Then, VS will add additional code to MyForm.h for us:void InitializeComponent(void) { this->button1->Click += gcnew System::EventHandler(this, &MyForm;::button1_Click); ... #pragma endregion private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { }
Do the same for the Reset button (button2).
- Inside the bracket of Reset (button2), insert the following code to set the values to 0 when we click the button:
// Reset button private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) { // clear label fields this->label1->Text = "0"; this->label2->Text = "0"; this->label3->Text = "0"; this->label4->Text = "0"; this->label5->Text = "0"; this->label6->Text = "0"; this->label7->Text = "0"; // set button state this->button1->Enabled = true; this->button2->Enabled = false; }
Also, the fields should be set to 0 when we load the form. So, click the Label1, then set the Text to 0 under Properties window. Repeat the same to the reset of the labels. Note that we disabled the Reset button, and enabled the Generate button at the click.
Generate Random numbers
- When the Generate is clicked, random numbers should be generated and displayed. We will put the code into the event handling function,
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e).// Generate button private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int num[7] = { 0 }; // seed srand((int) time(0)); // Randomize the array values. for (int i = 0; i < 7; i++) num[i] = (rand() % 99) + 1; // set the label text with random number this->label1->Text = Convert::ToString(num[0]); this->label2->Text = Convert::ToString(num[1]); this->label3->Text = Convert::ToString(num[2]); this->label4->Text = Convert::ToString(num[3]); this->label5->Text = Convert::ToString(num[4]); this->label6->Text = Convert::ToString(num[5]); this->label7->Text = Convert::ToString(num[6]); // change the button states. this->button1->Enabled = false; this->button2->Enabled = true; }
For more info on the random number, please visit Random Numbers in C++.
- Press F5 to run it again.
Deploy
- Launch the Configuration Manager…, and select Release from Active solution configuration.
- We’ve done the following steps for the Debug version. Now, let’s do it for Release version.
At the right-mouse click on RandomNumberGenerator, we get the Properties window.
Configuration Properties->Linker->System
Select Windows (/SUBSYSTEM:WINDOWS) for SubSystem.
Advanced->Entry Point, type in Main.
The, hit OK. - To deploy the application, a Setup Project should be added to the solution to create the required files for installation.
- File->New. Launch a New Project dialog.
- From the New Project dialog, choose Other Project Types->Setup and Deployment.
We need to enter a name for the Setup Project.Click OK to add the project files to the Solution. Then we see the SetupProject in the Solution Explorer.
- From the Project Assistant window, we setup the properties of installation.
For example, the picture shows adding a Release folder to the install.
- After setup the install, we build the Setup Project. In this case, we do right click on the SetupRandomApp in the Solution Explorer
- Then, locate the setup.exe file and run. In this case, it’s in
C:UsersKHyuckDocumentsVisual Studio 2012
ProjectsRandomSetupRandomAppSetupRandomAppExpressSingleImageDiskImagesDISK1 - Go to the install directory, run the RandomNumberGenerator.exe. In this example,
It’s installed in C:Program Files (x86)BogotobogoMy Product NameRelease directory.
Source Files
Source files used in the example is Random.zip.
I was very surprise when I Tried to create Visual C++ Windows Form Application (CLR) in Visual Studio 2013 RC ultimate. I could not found any template for Windows form under CLR section. It was in Visual Studio 2010.
I tried by using «CLR Empty Project» but by adding any windows form it got error.
Error 1 error LNK1561: entry point must be defined
Any solution for this?
asked Oct 13, 2013 at 18:00
imran khalilimran khalil
351 gold badge1 silver badge6 bronze badges
This was a breaking change from VS2012.
As it says on the above MSDN page, under Breaking Changes in Visual C++:
Integrated Development Environment
- The following project templates no longer exist:
- Windows Forms Application
- Windows Forms Control Library
- Although we recommend that you do not create Windows Forms applications in C++/CLI, maintenance of existing C++/CLI UI applications is supported. If you have to create a Windows Forms application, or any other .NET UI application, use C# or Visual Basic. Use C++/CLI for interoperability purposes only.
(screenshot)
answered Oct 13, 2013 at 20:17
Roger RowlandRoger Rowland
25.6k11 gold badges71 silver badges113 bronze badges
4
Follow below steps for VC++ 2013:
Step-1: File -> New -> Project -> Templates -> Visual C++ -> CLR -> CLR Console Application -> OK -> Finish
Step-2: Right-Click on Source Files -> Add new Item -> Visual C++ -> UI -> Windows Forms (MyForm.h) -> Add
Step-3: Click on properties in top-right corner (or) Execute. Done!
answered Jul 28, 2015 at 13:33
KulamaniKulamani
4996 silver badges13 bronze badges
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
1 |
|
19.11.2013, 14:53. Показов 75247. Ответов 44
Windows Form есть для С# но нет для C++ или это как то по другому делается? Миниатюры
__________________
0 |
2062 / 618 / 41 Регистрация: 23.10.2011 Сообщений: 4,468 Записей в блоге: 2 |
|
19.11.2013, 15:09 |
2 |
http://msdn.microsoft.com/ru-r… s.90).aspx Добавлено через 4 минуты
WinAPI — вещь хорошая но пока для меня сложная и чтобы написать что то совсем просто е с 2 кнопками не хотелось бы пока вникать. Простое на самом деле не такое простое как вам кажется. Вам придется делать самостоятельно ту часть работы, которую за вас делали программы для создания графического интерфейса в сшарп.
0 |
29 / 30 / 3 Регистрация: 26.07.2010 Сообщений: 297 |
|
19.11.2013, 15:12 |
3 |
WinAPI — вещь хорошая но пока для меня сложная и чтобы написать что то совсем просто е с 2 кнопками не хотелось бы пока вникать.. Qt?
0 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 15:18 [ТС] |
4 |
http://msdn.microsoft.com/ru-ru/libr…(v=vs.90).aspx За ссылку конечно спасибо но это по VS 2008 и некоторые вещи не применимы к VS2013 как например отсутствие в пустом проекте int WINAPI WinMain, получается что нечего не получается и нужно опять изучать не известно что. Добавлено через 3 минуты
Qt? Может быть но просто начал с книги по VS 2010 Б.Похомова. на сайте Microsoft, из Expreess лежить толкьо 2013 пока читал про консольные все получалось. Дошел до Форм и все…. или 2010 ставить искать или другую книгу или Qt или как говорится хз.
1 |
Don’t worry, be happy 17781 / 10545 / 2035 Регистрация: 27.09.2012 Сообщений: 26,514 Записей в блоге: 1 |
|
19.11.2013, 16:39 |
5 |
Дошел до Форм и все…. а скорее всего книга то не по C++
1 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 17:19 [ТС] |
6 |
а скорее всего книга то не по C++ Вы тут все такие умные, ну просто девать некуда.
0 |
_ 317 / 151 / 27 Регистрация: 08.10.2011 Сообщений: 432 |
|
19.11.2013, 17:34 |
7 |
так пробовал? Кликните здесь для просмотра всего текста Кликните здесь для просмотра всего текста
13 |
5493 / 4888 / 831 Регистрация: 04.06.2011 Сообщений: 13,587 |
|
19.11.2013, 17:46 |
8 |
Windows Form есть для С# но нет для C++ или это как то по другому делается? В CLR нет Windows Form? На скрине — это какие шаблоны выбраны?
0 |
4299 / 1421 / 463 Регистрация: 16.12.2010 Сообщений: 2,939 Записей в блоге: 3 |
|||||
19.11.2013, 17:53 |
9 |
||||
Обращаюсь ко всем отвечающим: народ, автор темы вполне доступно объяснил, чего он хочет. Ни одного поста по теме не было озвучено (кроме последних двух). А это значит, что все эти разговоры — оффтоп, который, должен быть удален.
3 |
545 / 378 / 56 Регистрация: 23.06.2013 Сообщений: 1,181 Записей в блоге: 6 |
|
19.11.2013, 17:54 |
10 |
Windows Form есть для С# но нет для C++ или это как то по другому делается? https://www.cyberforum.ru/post5282198.html
1 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 18:05 [ТС] |
11 |
ya_noob Предлагали что то подобное в другой ветке Миниатюры
0 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 18:08 [ТС] |
12 |
В CLR нет Windows Form? На скрине — это какие шаблоны выбраны? как то так Миниатюры
0 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 18:09 [ТС] |
13 |
Предлагаю продолжить тут. Вроде как по теме.
0 |
Don’t worry, be happy 17781 / 10545 / 2035 Регистрация: 27.09.2012 Сообщений: 26,514 Записей в блоге: 1 |
|
19.11.2013, 18:09 |
14 |
Создавайте пустой CLR проект и добавляйте форму вручную в него.
0 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 18:12 [ТС] |
15 |
Создавайте пустой CLR проект и добавляйте форму вручную в него. 2 поста вверх, результат просмотра youTubа и добавления формы в ручную
0 |
5493 / 4888 / 831 Регистрация: 04.06.2011 Сообщений: 13,587 |
|
19.11.2013, 18:17 |
16 |
по факту получается почти все но последняя запинка … В чём?
0 |
ranebull 545 / 378 / 56 Регистрация: 23.06.2013 Сообщений: 1,181 Записей в блоге: 6 |
||||
19.11.2013, 18:20 |
17 |
|||
Предлагали что то подобное в другой ветке У вас код с ошибками написан… Не знаю откуда вы его взяли.
1 |
12 / 11 / 6 Регистрация: 05.10.2013 Сообщений: 219 |
|
19.11.2013, 18:22 [ТС] |
18 |
В чём? В том что не компилится, ввидимо из за ошибок которые подчеркнуты красным на скриншоте. IntelliSense: class «Project1::MyForm» не содержит члена «form»…
0 |
Don’t worry, be happy 17781 / 10545 / 2035 Регистрация: 27.09.2012 Сообщений: 26,514 Записей в блоге: 1 |
|
19.11.2013, 18:23 |
19 |
Читайте книжки и документацию в первую очередь, а не на ютюбище смотрите
Не знаю откуда вы его взяли.
результат просмотра youTubа и добавления формы в ручную
1 |
5493 / 4888 / 831 Регистрация: 04.06.2011 Сообщений: 13,587 |
|
19.11.2013, 18:26 |
20 |
В том что не компилится, ввидимо из за ошибок которые подчеркнуты красным на скриншоте. Тут есть ветка по Windows Form, наверное, лучше там спрашивать: https://www.cyberforum.ru/cpp-cli-winforms/
1 |
При создании нового проекта в Visual Studio для языка программирования C++ в мастере нет пункта Windows Forms. Но, безусловно, язык C++ поддерживает .NET и, соответственно, Windows Forms. Из этой статьи Вы узнаете, как создать в Visual Studio проект Windows Form на C++.
Сначала необходимо создать новый проект в Visual Studio.
Создание нового проекта C++ в Visual Studio
Запустите Visual Studio. Нажмите «Файл» → «Создать» → «Проект…». Или нажмите сочетание клавиш Ctrl + Shift + N на клавиатуре.
В появившемся окне «Создать проект» слева выберите группу «Visual C++», а в ней пункт «CLR». Щелкните по «Пустой проект CLR», введите имя проекта и нажмите кнопку «OK».
Таким образом мы создали новый проект на языке программирования C++ в Visual Studio.
Добавление Windows Forms в проект C++
Теперь в созданный проект на C++ добавим форму Windows Forms.
Для этого щелкните в «Обозревателе решений» на названии проекта правой кнопкой мыши, выберите пункт «Добавить» и затем «Создать элемент…». Либо просто нажмите на клавиатуре сочетание клавиш Ctrl + Shift + A.
Загрузится окно «Добавление нового элемента». В нём щёлкните левой кнопкой мыши по группе UI в выберите элемент «Форма Windows Forms — Visual C++». Можете изменить имя создаваемой формы. По завершении нажмите кнопку «Добавить».
Далее откройте файл исходного кода «MyForm.cpp» (если вы изменяли название формы, то файл будет иметь другое имя). В него добавьте следующий текст:
using namespace System; using namespace System::Windows::Forms; [STAThread] void main(array<String^>^ arg) { Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); WinFormsTest::MyForm form; //WinFormsTest — имя вашего проекта Application::Run(%form); } |
Если Вы указали имя проекта отличное от WinFormsTest, то, соответственно, в коде укажите введённое Вами имя.
Сохраните изменения в файле.
Теперь необходимо произвести ряд настроек проекта в Visual Studio. Приступим.
Щёлкните по названию проекта в «Обозревателе решений» правой кнопкой мыши и затем нажмите кнопку «Свойства». Либо сразу нажмите сочетание клавиш Alt + Enter.
В «Странице свойств» проекта слева выберите группу «Компоновщик» → «Система». В раскрывающемся списке «Подсистема» укажите Windows и нажмите кнопку «Применить».
Далее в разделе «Дополнительно» группы «Компоновщик» в качестве «Точки входа» укажите функцию main (напишите словом). Щелкните кнопку «Применить», а затем «ОК».
На этом настройка и создание проекта Windows Forms на C++ завершены! Чтобы просмотреть результат — запустите проект на выполнение (клавиша F5).
Видеоурок создания проекта WinForms C++