Visual studio 2013 c windows form application

Ну да, такого "мастера приложений с одной главной формой", как в версии 2010, нет. Но это не значит, что работа с формами не поддерживается - просто создавайте пустой проект CLR и добавляйте форму в него "вручную". Вот весь процесс, расписанный по шагам:

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

Рабочие нагрузки VS 2019 CPP

09.02.2015, 14:54 [16525 просмотров]


К этой статье пока нет комментариев, Ваш будет первым

February 24 2016, 12:20

Category:

  • 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

Начиная с 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 включительно. Но, к сожалению, новые версии пока не могут предложить разработчикам ничего другого. Остаётся надеяться, что в будущих версиях этот недостаток всё же будет устранён.

cplusplus_icon.png

Bookmark and Share


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.

1494.strip.gif

Source: Dilbert

The simplest UI program

  1. Select Visual C++ CLR and CLR Empty Project
    and type in RandomNumberGenerator for the project name. The, OK.
  2. Project->Add New Item… .
    Select UI under Visual C++.
    Leave the Form name as given by default MyForm.h.
    Then, click Add.

    MyForm.png

  3. 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.

  4. 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.
  5. Hit F5, then we will have to run result, the Form.

UI Setup

  1. 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.
  2. Resize and rearrange the items. Rename the buttons and tile of the Form, then it should look like this:

    MyFormWithLabelsAndButtons.png

  3. 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.
  4. Let’s try if it works.
    Run it (Hit F5).

    FormWithPictureRun.png

Event handling code for UI components

  1. 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.

  2. 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).

  3. 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

  1. 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++.

  2. Press F5 to run it again.

    Random_InitA.png

    Random_InitB.png

Deploy

  1. Launch the Configuration Manager…, and select Release from Active solution configuration.

    ConfigurationManager.png

  2. 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.
  3. To deploy the application, a Setup Project should be added to the solution to create the required files for installation.
  4. File->New. Launch a New Project dialog.
  5. From the New Project dialog, choose Other Project Types->Setup and Deployment.
    We need to enter a name for the Setup Project.

    DeployNewProject.png

    Click OK to add the project files to the Solution. Then we see the SetupProject in the Solution Explorer.

    SolutionExplorerAfterSetupProject.png

  6. From the Project Assistant window, we setup the properties of installation.

    ProjectAssistant_Add_Folders.png

    For example, the picture shows adding a Release folder to the install.

  7. After setup the install, we build the Setup Project. In this case, we do right click on the SetupRandomApp in the Solution Explorer
  8. Then, locate the setup.exe file and run. In this case, it’s in
    C:UsersKHyuckDocumentsVisual Studio 2012
    ProjectsRandomSetupRandomAppSetupRandomAppExpressSingleImageDiskImagesDISK1

    InstallShieldWizard.png

  9. 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 khalil's user avatar

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)

Community's user avatar

answered Oct 13, 2013 at 20:17

Roger Rowland's user avatar

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!

dlk5730's user avatar

answered Jul 28, 2015 at 13:33

Kulamani's user avatar

KulamaniKulamani

4996 silver badges13 bronze badges

12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

1

19.11.2013, 14:53. Показов 75247. Ответов 44


Windows Form есть для С# но нет для C++ или это как то по другому делается?

Миниатюры

Как создать проект Windows Forms в Visual Studio 2013?
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



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 минуты

Цитата
Сообщение от Fanera
Посмотреть сообщение

WinAPI — вещь хорошая но пока для меня сложная и чтобы написать что то совсем просто е с 2 кнопками не хотелось бы пока вникать.

Простое на самом деле не такое простое как вам кажется. Вам придется делать самостоятельно ту часть работы, которую за вас делали программы для создания графического интерфейса в сшарп.



0



29 / 30 / 3

Регистрация: 26.07.2010

Сообщений: 297

19.11.2013, 15:12

3

Цитата
Сообщение от Fanera
Посмотреть сообщение

WinAPI — вещь хорошая но пока для меня сложная и чтобы написать что то совсем просто е с 2 кнопками не хотелось бы пока вникать..

Qt?



0



12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

19.11.2013, 15:18

 [ТС]

4

Цитата
Сообщение от programina
Посмотреть сообщение

http://msdn.microsoft.com/ru-ru/libr…(v=vs.90).aspx

За ссылку конечно спасибо но это по VS 2008 и некоторые вещи не применимы к VS2013 как например отсутствие в пустом проекте int WINAPI WinMain, получается что нечего не получается и нужно опять изучать не известно что.

Добавлено через 3 минуты

Цитата
Сообщение от dev.nikor
Посмотреть сообщение

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

Цитата
Сообщение от Fanera
Посмотреть сообщение

Дошел до Форм и все….

а скорее всего книга то не по C++



1



12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

19.11.2013, 17:19

 [ТС]

6

Цитата
Сообщение от Croessmah
Посмотреть сообщение

а скорее всего книга то не по 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

Цитата
Сообщение от Fanera
Посмотреть сообщение

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

Цитата
Сообщение от Fanera
Посмотреть сообщение

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

Предлагали что то подобное в другой ветке
по факту получается почти все но последняя запинка …

Миниатюры

Как создать проект Windows Forms в Visual Studio 2013?
 



0



12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

19.11.2013, 18:08

 [ТС]

12

Цитата
Сообщение от alsav22
Посмотреть сообщение

В CLR нет Windows Form? На скрине — это какие шаблоны выбраны?

как то так

Миниатюры

Как создать проект Windows Forms в Visual Studio 2013?
 



0



12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

19.11.2013, 18:09

 [ТС]

13

Цитата
Сообщение от ranebull
Посмотреть сообщение

Предлагаю продолжить тут. Вроде как по теме.



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

Цитата
Сообщение от Croessmah
Посмотреть сообщение

Создавайте пустой CLR проект и добавляйте форму вручную в него.

2 поста вверх, результат просмотра youTubа и добавления формы в ручную



0



5493 / 4888 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

19.11.2013, 18:17

16

Цитата
Сообщение от Fanera
Посмотреть сообщение

по факту получается почти все но последняя запинка …

В чём?



0



ranebull

545 / 378 / 56

Регистрация: 23.06.2013

Сообщений: 1,181

Записей в блоге: 6

19.11.2013, 18:20

17

Цитата
Сообщение от Fanera
Посмотреть сообщение

Предлагали что то подобное в другой ветке
по факту получается почти все но последняя запинка …

У вас код с ошибками написан… Не знаю откуда вы его взяли.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "MyForm.h"
 
using namespace System;
using namespace System ::Windows::Forms;
 
[STAThread]
void main(array<String^>^ arg) {
    Application::EnableVisualStyles();
    Application::SetCompatibleTextRenderingDefault(false);
 
    Project1::MyForm form;
    Application::Run(%form);
}



1



12 / 11 / 6

Регистрация: 05.10.2013

Сообщений: 219

19.11.2013, 18:22

 [ТС]

18

Цитата
Сообщение от alsav22
Посмотреть сообщение

В чём?

В том что не компилится, ввидимо из за ошибок которые подчеркнуты красным на скриншоте.
А уж почему они возникают я понятия не имею.

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

Читайте книжки и документацию в первую очередь, а не на ютюбище смотрите

Цитата
Сообщение от ranebull
Посмотреть сообщение

Не знаю откуда вы его взяли.

Цитата
Сообщение от Fanera
Посмотреть сообщение

результат просмотра youTubа и добавления формы в ручную



1



5493 / 4888 / 831

Регистрация: 04.06.2011

Сообщений: 13,587

19.11.2013, 18:26

20

Цитата
Сообщение от Fanera
Посмотреть сообщение

В том что не компилится, ввидимо из за ошибок которые подчеркнуты красным на скриншоте.
А уж почему они возникают я понятия не имею.
IntelliSense: class «Project1::MyForm» не содержит члена «form»…
и тд….

Тут есть ветка по 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 Studio

В появившемся окне «Создать проект» слева выберите группу «Visual C++», а в ней пункт «CLR». Щелкните по «Пустой проект CLR», введите имя проекта и нажмите кнопку «OK».

Пустой проект CLR на C++

Таким образом мы создали новый проект на языке программирования C++ в Visual Studio.

Добавление Windows Forms в проект C++

Теперь в созданный проект на C++ добавим форму Windows Forms.

Для этого щелкните в «Обозревателе решений» на названии проекта правой кнопкой мыши, выберите пункт «Добавить» и затем «Создать элемент…». Либо просто нажмите на клавиатуре сочетание клавиш Ctrl + Shift + A.

Добавление нового элемента в проект на C++

Загрузится окно «Добавление нового элемента». В нём щёлкните левой кнопкой мыши по группе UI в выберите элемент «Форма Windows Forms — Visual C++». Можете изменить имя создаваемой формы. По завершении нажмите кнопку «Добавить».

Добавление формы Windows Forms 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 Forms C++

В «Странице свойств» проекта слева выберите группу «Компоновщик» → «Система». В раскрывающемся списке «Подсистема» укажите Windows и нажмите кнопку «Применить».

Выбор подсистемы Windows для запуска приложения на C++

Далее в разделе «Дополнительно» группы «Компоновщик» в качестве «Точки входа» укажите функцию main (напишите словом). Щелкните кнопку «Применить», а затем «ОК».

Точка входа в приложение Windows Forms на C++

На этом настройка и создание проекта Windows Forms на C++ завершены! Чтобы просмотреть результат — запустите проект на выполнение (клавиша F5).

Запущенная форма Windows Forms в приложении на C++

Видеоурок создания проекта WinForms C++

Понравилась статья? Поделить с друзьями:
  • Visual c windows 7 64 bit все версии одним файлом
  • Visual c windows 7 64 bit all in one
  • Visual c windows 7 64 bit 2020
  • Visual c windows 10 all in one 2022
  • Visual c windows 10 64 bit версия с последние обновления