맨체스터 사는 개발자

[C++] VS2019 에서 C++ 로 Winform 개발하기 본문

개발/C++

[C++] VS2019 에서 C++ 로 Winform 개발하기

aaamy91 2022. 3. 10. 09:29

오랜만에 써보는 C++ 관련 글

회사 내부에서 사용할 툴 개발을 하게 되었다.

C# 을 써볼까 했는데 여러 사정상 C++ 로 개발하게 되었다.

C++ 로 GUI 를 사용하려면 보통 Qt나 Embarcadero 를 쓰던가 Visual Studio 에서 Qt 를 Extension 으로 하는 것 같다.

일단 Visual Studio 에서 Qt 를 받아서 써볼까 했지만

상용화할 프로그램을 개발하는 것도 아니고 그냥 회사 내부에서 사용할 툴이니 그렇게 복잡한 GUI 를 사용할 계획은 아니기에 Visual Studio 에서 C++ 를 사용하는 방법을 찾았다.

우선 우리가 일반적으로 생각하는 Visual Basic 이나 C# 처럼 Drag & Drop 으로 디자인 할 수 있는 GUI 는 더 이상 Visual Studio 에서 제공하지 않는것 같다. 아니면 API 나 MFC 를 사용해서 하던가.

따라서 약간의 편법?을 사용해야 한다.

우선

1. CLR Empty Project (.NET Framework) 로 프로젝트 생성

2. Source file 을 추가 하면서 Visual C++ -> UI -> Windows Form 선택

생성하면 아래와 같은 에러가 나오는데 걍 무시

그리고 옆에 MyForm.h 를 더블클릭하면 Winform 화면이 나온다.

Winform 이 안나오고 소스코드만 나온다면 Visual Studio 껐다 켜야 함.

근데 여기서 실행해도 에러나면서 안된다.

여기서 끝이 아니라 추가 설정도 좀 해줘야 한다.

3. Project Property > Linker > System > SubSystem > Windows 선택

4. Project Property > Linker > Advanced > Entry Point > main 입력

5. MyForm.cpp 에 아래 코드 추가

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

[STAThread]

void main(array<String^>^ args) {
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false);
	Project2::MyForm form;
	Application::Run(% form);
}

그리고 실행하면 잘 돌아 간다.