VS2019中使用C++初步实现winform界面

  • 新建项目
    打开VS,新建一个C++的空项目,这里注意最好是一个空项目,而不是控制台项目或者其他类型,虽然项目使用方便但是后续会报错,同时文章最后会给出一些常用错误的解决方法。
  • 加入winform的引用
    首先进行设置,在项目属性->高级->"Common Language Runtime Support"里选中“Common Language Runtime Support(/clr)”。
    在这里插入图片描述 这一步之后,才可以在项目的引用中,添加引用,分别引用System和System.Window.Forms,如图:
    在这里插入图片描述
  • 创建一个新的类
    创建一个新的类,点击VS主界面菜单栏的项目–>添加类。类的名称自定义,这里命名为UseWinforms,基类中填Form。
    随后在自动生成的头文件代码中,添加System和Form的引用。
#pragma once
using namespace System;
using namespace System::Windows::Forms;
public ref class UseWinforms : public Form
{
    public:
        UseWinforms(void);
};
  • 主程序
    创建一个主程序来调用这个类。
#include<windows.h>
#include "UseWinforms.h"

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    Application::Run(gcnew UseWinforms());
    return 0;
}

保存,运行,就可以看到熟悉的winform窗口了。

  • 一些 debug过程
    报错一:vs2019 C++/CLI 或 C++/CX 不支持两阶段名称查找;请使用 /Zc:twoPhase-
    解决方法:项目->属性->配置属性->c/c++ ->语言
    把“符合模式”改为“否”
    在这里插入图片描述
    参考:https://blog.csdn.net/qq_33435149/article/details/110289698
    报错二:LNK2019 无法解析的外部符号 _main,函数 “int __cdecl invoke_main(void)“
    这一问题的根本原因是在新建项目时选择了控制台项目。
    解决方法:
    项目属性->预处理器:控制台改为WINDOWS
    链接器->系统->子系统改为窗口WINDOWS
    在这里插入图片描述
    在这里插入图片描述
    参考: https://blog.csdn.net/qq_36917144/article/details/112557109
  • 更进一步的
    给这个空白的窗口增加一个按钮,在生成的类的cpp文件中增加修改一部分代码,代码如下
#include<windows.h>
#include "UseWinforms.h"

UseWinforms::UseWinforms(void)
{
	System::Windows::Forms::Button^ button1 = gcnew Button;//创建按钮
	this->Controls->Add(button1);//把按钮附加到我们的窗体上
}

这时运行就会得到一个有着按钮的窗口。
在这里插入图片描述
目前实现到这一部分,如果只是为了一个界面,在C++中这么大费周章的使用winform当然不值得,所以后续还会继续更新,更加合适的使用winform。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值