使用VisualStudio 2019新建一个Windows应用程序(1)

1 篇文章 1 订阅
订阅专栏

1、打开VisualStudio 2019,选择“创建新项目”

2、进入“创建新项目”界面,选择“Windows桌面应用向导”,点击“下一步” 

3、配置新项目:为新项目输入项目名称。指定项目存放文件的位置

 4、点击“创建”


5、选择希望创建的新项目的类型,在本例中,选择“桌面应用程序”,"空项目"


6、添加第一个源文件:鼠标右键点击“源文件”,选择“添加”->“新建项”


7、选择新建项类型为“C++文件(.cpp)”,输入源文件的名称myTest.cpp,点击“添加”

8、将以下代码拷贝到myTest.cpp之中:
#include<windows.h>

//定义回调函数,处理窗口消息的函数
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
{
    //定义一个静态变量用于保存应用程序的名称,数据类型是TCHAR数组
    static    TCHAR    szAppName[] = TEXT("CreateWin32_Form  Sample!");

    //定义一个窗口句柄变量
    HWND            hwnd;
    
    //定义一个消息变量
    MSG                msg;

    //定义一个窗口类,实例名称wndclass
    WNDCLASS        wndclass;


    //为窗口类的属性赋值
    
    //窗口类的风格属性
    wndclass.style = CS_HREDRAW | CS_VREDRAW;

    //窗口类的消息处理函数,将消息传递给WndProc函数进行处理
    wndclass.lpfnWndProc = WndProc;

    //窗口类的附加数据
    wndclass.cbClsExtra = 0;

    //窗口的附加数据
    wndclass.cbWndExtra = 0;
    wndclass.hInstance = hInstance;
    wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
    wndclass.hbrBackground = CreateSolidBrush(RGB(0, 100, 100));
    wndclass.lpszMenuName = NULL;
    wndclass.lpszClassName = szAppName;

    //注册窗口类
    if (!RegisterClass(&wndclass))        
    {
        MessageBox(NULL, TEXT("注册失败!"), szAppName, MB_ICONERROR);
        return 0;
    }

    //为窗体添加WS_EX_LAYERED属性,该属性使窗体支持透明
    hwnd = CreateWindowEx(WS_EX_LAYERED, szAppName, TEXT("我的第一个窗口例程"),
        WS_POPUP | WS_VISIBLE, 200, 200, 800, 600, NULL, NULL, hInstance, NULL);
    BYTE byteAlpha = 180;

    // 设置WS_EX_LAYERED属性,该属性使窗体支持透明
    SetLayeredWindowAttributes(hwnd, NULL, byteAlpha, LWA_ALPHA); 

    // 显示窗口
    ShowWindow(hwnd, iCmdShow);

    // 更新窗口
    UpdateWindow(hwnd);

    // 启动消息处理机制
    while (GetMessage(&msg, NULL, 0, 0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }

    // 退出窗口,返回消息到Windows
    return msg.wParam;
}

// 消息处理回调函数原型
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    int result;
    switch (message)
    {
    case WM_LBUTTONDOWN:
    {
        //鼠标左键的响应函数,启动拖动事件
        SendMessage(hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0);
        break;
    }
    case WM_KEYDOWN:
        switch (wParam) 
        {
        case VK_ESCAPE:
            // Escape键的操作响应
            result = MessageBox(hwnd, "确定退出吗?", "退出!", 
                MB_YESNO | MB_ICONQUESTION);
            if (result == IDYES)
                PostQuitMessage(0);
            return 0;
        default:
            return 0;
        }
    case WM_DESTROY:
        // 退出程序的消息处理
        PostQuitMessage(0);
        return 0;
    }

    // 未定义的消息交给系统的默认函数进行处理
    return DefWindowProc(hwnd, message, wParam, lParam);
}

9、编译代码,系统提示“发生生成错误”,在输出栏看到以下消息输出

提示在myTest.cpp的90行发生无法将参数2从"const char [12]"转换为“LPCWSTR”,这是因为VisualStudio2019默认的字符集为UNICODE。


10、鼠标右键点击项目名称,选择“属性”->“配置属性”->“高级”->“高级属性”->“字符集”,将字符集属性修改为“使用使用多字节字符集”

11、重新编译并运行,代码可以正常运行了。

VS2019界面的改变可能会有点不习惯,不过核心的内容只是换了个新的面孔出现了。希望能够在使用中逐渐熟悉他的这些变化。

VS2019 windows桌面应用_VS2019创建一个C++项目说明
weixin_39540018的博客
11-21 3968
VS2019相对于VS2017,在细节方面有一些地方进行里改进,让使用体验更加人性化了。现在给大家介绍一下使用VS2019创建一个C++项目,进而熟悉下VS2019。一、启动界面二、启动后进入VS2019项目主界面1.打开最近项:会展示近期打开的项目、文件夹、文件,最后一次打开的在最上面,方便快速启动之前打开过的代码。2.克隆或签出代码:从Github或AzureDevOps等联机...
VisualStudio2019中为.NET Core WinForm App启用窗体设计器
12-20
当我们在使用 Visual Studio 2019 非预览版本开发 Windows Forms App (.NET Core) 应用程序时是不能使用窗体设计器的。即使在窗体文件上右击选择“显示设计器”菜单,仍旧只能看到代码,无法打开窗体设计器。 根据微软开发者博客的描述,我们可以使用 Visual Studio 2019 预览通道,将 Visual Studio 2019 更新至 16.6 来启用设计器(参见:Updates on .NET Core Windows Forms designer)。 在不启用预览通道的情况下,我们仍然可以通过更改项目文件来让项目支持窗体设计器。 当我们新建一个
VS2019使用Windows桌面应用程序模块创建Win32窗口
12-20
本文介绍了VS2019使用Windows桌面应用程序模块创建Win32窗口,分享给大家,具体如下: 头文件Project1.h: #pragma once #include "resource.h" 实现文件Project1.cpp: // Project1.cpp : 定义应用程序的入口点。 // #include "framework.h" #include "Project1.h" #define MAX_LOADSTRING 100 // 全局变量: HINSTANCE hInst; // 当前实例 WCHAR szTitle[MAX_LOADST
Visual Studio 2022的MFC框架——应用程序向导
荔园微风的博客
08-02 6457
Visual Studio 2022的MFC框架——应用程序向导
C#实现一个windows桌面应用流程
最新发布
qq_73990157的博客
03-17 1345
利用Visual Studio的内置调试工具,你可以逐步执行代码,检查和修改变量的值,以及使用断点来暂停代码执行,从而深入了解你的应用程序的行为。: 如果你打算开发一个传统的桌面应用程序,其中包含按钮、文本框和其他标准用户界面控件,并且需要一个相对简单的方式来设计和布局这些控件,那么选择Windows Forms是合适的。: 如果你的应用程序要求有更复杂的用户界面,需要支持复杂的布局、样式和绑定,或者你想要利用XAML(可扩展应用程序标记语言)来声明式地定义UI元素和布局,那么WPF是更好的选择。
VS2019创建Windows桌面应用程序(.exe)
weixin_51883798的博客
12-25 687
【代码】VS2019创建Windows桌面应用程序(.exe)
C#设计一个Windows应用程序————记事本
04-09
实现记事本功能。其具有文件的新建、打开、保存功能;文字的复制、粘贴、删除功能;字体类型、格式的设置功能;查看日期时间等功能,并且用户可以根据需要显示或者隐藏工具栏和状态栏。--—————————————— 适用于在用Visual Studio学习C#的人
Visual Studio 2015和 .NET Core安装教程
01-20
安装 Visual Studio 和 .NET Core 1、安装 Visual Studio Community 2015,选择 Community 下载并执行默认安装,Visual Studio 2015 安装程序首页 2、安装.NET Core + Visual Studio 工具,windows系统的可以从这里下载 创建 Web 应用程序 1、起始页 点击 新建项目(或 文件→新建项目) 2、选择 左侧 .NET Core (如果没有安装.NET Core + Visual Studio 工具是没有这个选项的,关闭VS 安装这个工具 即可),然后选择 ASP.NET Core We
VS2019使用C++创建winform界面
weixin_45669252的博客
02-05 6406
在VS中新建CLR项目实现winform在C++中的使用
Visual studio 2019 桌面应用开发(2)
qq_34414144的博客
08-30 1762
同样的方式,解决方案资源管理器,右键源文件>添加>添加新项,选C++文件再重命名,得到下面文件树。右键解决方案的项目名称,进入属性,找到C++>常规>附加包含目录,添加头文件和链接库所在目录。在属性页找到链接器>输入>附加依赖项,添加链接库全名包含后缀名,应用再确定。在属性页找到链接器>常规>附加库目录,添加头文件和链接库所在目录。解决方案资源管理器,右键头文件>添加>添加新项。填项目名称、解决方案名称、选位置,点创建。最后就可以添加代码,编译,生成exe了。选择头文件,修改名称。......
【OpenGL】一、Visual Studio 2019 创建 Windows 桌面程序 ( Visual Studio Installer 安装 C++ 桌面开发库 | 创建桌面程序 )
让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 )
01-14 7693
一、Visual Studio Installer 安装 C++ 桌面开发库、 二、Visual Studio 2019 创建 Windows 桌面程序
VS2019 打包桌面应用程序详细步骤,包含运行环境(.NET Framework)
Love_HBB的专栏
03-08 5202
使用VS 2019打包桌面应用程序详细步骤
Visual Studio 2019 如何新建 Win32项目的方法步骤
12-20
新建VS2019 Win32项目 VS2017、VS2019新建项目类型进行了重新归类,创建传统Win32项目具体步骤如下: 单击文件(File) -> 新建(New) -> 项目(Project) 选择新建 Windows桌面向导(Windows Desktop Wizard)项目类型 配置选项:应用程序类型选择 桌面应用程序 (.exe) (Desktop Application (.exe)),其它选项勾选 项目(Empty project)  创建效果 建立出来的库与Visual Studio 2015及其之前版本的Win32项目相同,查看解决方案资源管理器(Sol
如何创建一个最简单的Windows桌面应用程序 (C++)
热门推荐
随煜而安的专栏
02-07 13万+
如何创建一个最简单的Windows桌面应用程序 (C++)      最近刚开始学习C/C++开发Windows应用程序,这里将会以零基础的视角把学习过程完全记录下来。如果你也刚刚起步,那本文一定非常适合你。      进入正题,本文讨论如何使用Visual Studio生成一个最简单的C窗体应用程序,并向用户显示Hello~      下面我们一步步来介绍,对于涉及代码的地方,我们
VS新建C、C#,C++项目(2017版本、2019版本、2022版本)
涟涟的博客
12-10 3957
VS新建C、C#,C++项目(2017版本、2019版本、2022版本) 二、VS创建C#Windows窗体应用 三、新建C#控制台应用 ...
C++创建桌面应用程序:处理对话框DialogBox
小龙在线
10-24 1191
【代码】C++创建桌面应用程序
VS019创建C++工程基本步骤
Edwardsino的博客
03-19 5234
1.打开VS2019新建工程 2.选择C++项目,点击下一步 3.设置项目名称和项目位置,然后点击创建 4.设置自己喜欢的布局方式(关于背景网上有很多设置方法) 5.新建入口Main.c工程,右键源文件,添加,新项目 6.选择C++文件,取个名字,然后点击添加 7.书写自己的测试代码 8.编译运行 ...
visual studio 2019创建一个项目的详细步骤
BaoITcore的博客
03-10 4390
下载好了visual studio 2019 ,演示创建一个项目来编写自己程序的例子。
qt + cef 混合开发应用实例
06-24
### 回答1: Qt和CEF可以实现混合开发,即将两种技术和优点结合起来,开发出高效、高可靠性的应用程序。下面我们来看一个Qt CEF混合开发应用实例。 以开发一个简单的浏览器为例,首先使用Qt的QtWebEngine模块创建浏览器框架,然后使用CEF库来加载HTML页面。具体步骤如下: 1.创建Qt浏览器框架:使用QtWebEngine模块创建一个基本的浏览器窗口,该窗口可以包含地址栏、前进/后退、刷新等基本浏览器功能。 2.集成CEF:将CEF库与Qt框架集成。CEF库是一个基于Chromium开发的框架,可以用于加载HTML、JavaScript、CSS等Web技术。CEF库提供了强大的JavaScript和UI交互能力,可以通过CEF实现更多更复杂的功能。 3.在Qt中使用CEF:通过Qt的QWindow类和CEF的CefWindowHandle类实现QWindow和CEF窗口之间的交互。可以使用Qt的信号/槽机制来处理CEF窗口的事件。 4.加载HTML页面:通过CEF加载HTML页面,通过Qt的WebView控件在浏览器框架中显示页面内容。 通过以上步骤,我们可以创建一个基于Qt和CEF混合开发的浏览器应用程序。这种混合开发方式可以充分利用Qt和CEF提供的各自的优势,开发出高效、高可靠性的应用程序。同时也可以在UI和交互方面更加灵活地实现各种功能。 ### 回答2: Qt和CEF(Chromium Embedded Framework)混合开发应用可以使你开发跨平台的、具有Web前端组件的应用,为用户提供更好的用户体验和更丰富的交互特性,下面是一个实例。 我们可以使用Qt作为应用程序框架,同时使用CEF作为嵌入的Web浏览器来呈现Web内容。这个应用程序使用了Qt的GUI组件、CEF的Web组件和C++的普通类和函数来实现。 具体实现过程如下: 1. 下载和安装CEF。CEF是一个本地Web浏览器框架,支持Windows、macOS和Linux系统。它允许你使用Chromium浏览器内核来呈现Web内容。CEF提供了一系列的API和工具来支持应用与Web内容直接的交互。 2. 使用Qt Creator创建一个新的Qt Widgets应用程序。在项目设置中配置如下: a. 加入CEF运行时库文件和头文件。 b. 对于Windows平台,在项目属性中配置Qt和CEF的链接库。 c. 添加一个Qt Form作为主界面。 3. 在Qt代码中使用CEF组件,在主界面中添加一个QVBoxLayout。将CEF Widget直接放在这个Layout中,从而实现与其他Qt Widgets的混合。 4. 在C++代码中创建一个CEF浏览器对象。这个对象负责加载和解析Web页面,和处理浏览器事件。在开始时CEF浏览器会调用on_loading_state_change()回调函数,它表示CEF正在加载Web页面。 5. 当CEF浏览器加载Web页面时,处理web页面中的事件,例如提交表单、点击按钮等。CEF JavaScript Binding桥接机制可以让你在C++代码中注册JavaScript回调,让Web侧能够调用本地功能。CEF也允许你从Web页面中注入JavaScript脚本,以实现与本地代码的通信。 总结:使用Qt和CEF混合开发应用,可以开发出具有极佳用户体验的跨平台应用程序,一方面,可以充分利用CEF提供的强大的Web交互能力,另一方面,可以使用Qt的GUI组件来构建应用程序框架,并使其与Web组件混合。对于开发者而言,这意味着更轻松的应用程序开发和更高效的应用程序交互方式。 ### 回答3: qt和cef的混合开发应用是通过将QT的界面与CEF的web浏览器引擎相结合,实现了一种可支持Web技术的应用程序开发方式。 比如在一个桌面应用程序中,用户可以在QT界面中使用CEF作为内置浏览器来浏览Web页面或连接Web服务。 一种实例是使用QT中的QWebEngineView来加载CEF中的Web页面,可以通过QWebChannel来实现QT和CEF两者之间的通信,例如把QT中的JavaScript对象传递到CEF中,或者把CEF中的事件传递到QT中进行处理。这样可以实现在QT应用程序中嵌入Web浏览器,同时利用QT的强大框架和CEF的强大Web渲染技术为应用程序添加更多的功能。 另外,QT中还提供了QtWebEngineWidgets来支持类似于CEF的Web浏览器功能,同时可以与QT的界面框架无缝整合,用于创建具有丰富Web功能的桌面应用程序。 总之,QT和CEF的混合开发应用可以扩展应用程序的Web功能,从而提供更加丰富、更加强大的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • MATLAB学习笔记(一)打开csv文件并使用列数据绘图 21708
  • 使用VisualStudio 2019新建一个Windows应用程序(1) 20778
  • MATLAB学习笔记(四)绘制三维函数图形 13270
  • 使用Visual Studio Code 进行Python编程(一)-环境搭建、hello Python 9826
  • MATLAB学习笔记(三)使用CSV文件的列数据绘制图形操作示例 8354

分类专栏

  • Visual Studio 2022 1篇
  • Python 3篇
  • 人工智能 1篇
  • Visual Studio 2019学习 1篇
  • MATLAB学习笔记 4篇
  • OPENCV学习笔记 2篇

最新评论

  • VS2015配置OpenCV,操作过程与实现例程

    CSDN-Ada助手: 有哪些常见的误差函数,能否系统写一篇对比?

  • 使用Edit控件作为消息输出窗口的实现

    CSDN-Ada助手: 恭喜您撰写了第13篇博客!标题中提到使用Edit控件作为消息输出窗口的实现,这是一个非常实用的技巧。您的博客内容一定会帮助到许多读者。 在下一步的创作中,我建议您可以考虑添加一些实例或案例来进一步说明如何使用Edit控件进行消息输出。此外,您可以深入探讨如何优化消息输出窗口的布局和样式,以提升用户体验。谦虚地说,我相信您的继续努力将会为读者带来更多的收获。祝您写作愉快!

  • 使用Visual Studio 2022实现透明按钮和标签、POPUP样式窗体的一种工业系统的UI例程

    CSDN-Ada助手: 恭喜您写下了第12篇博客!标题中的内容听起来非常有趣,我对使用Visual Studio 2022实现透明按钮和标签、POPUP样式窗体的UI例程非常感兴趣。您的博客内容一定会对工业系统的UI开发者们有很大的帮助。 在下一步的创作中,我建议您可以继续探索Visual Studio 2022的其他功能,例如如何通过该工具提高工业系统的用户体验等方面的内容。同时,您可以考虑分享一些实际案例,让读者更好地理解如何应用您提到的技术。期待您的下一篇博客!

  • 使用Visual Studio Code 进行Python编程(一)-环境搭建、hello Python

    游轮715: 使用sual Studio搭建PYthon编写没有输出反应什么原因

  • 使用Visual Studio Code 进行Python编程(三)-变量、数据类型

    CSDN-Ada助手: Python入门 技能树或许可以帮到你:https://edu.csdn.net/skill/python?utm_source=AI_act_python

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 使用Edit控件作为消息输出窗口的实现
  • 使用Visual Studio 2022实现透明按钮和标签、POPUP样式窗体的一种工业系统的UI例程
  • 使用Visual Studio Code 进行Python编程(三)-变量、数据类型
2023年2篇
2022年3篇
2020年1篇
2019年3篇
2018年4篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

聚圣源根据中文的名字起英文名斯杯惜别的海岸原唱鼠宝宝起名鼠宝宝起名弹指一挥间完美是直销还是传销降血压十大水果麦玲玲起名五行缺木适合起什么名字凌氏起名女孩代表建议可考虑开征遗产税寓意好合适起名的成语山东农科频道吉名网起名一支部一品牌名称怎么起好惊异的近义词中国银行的理财产品给宾馆起名字吗www.3rat.com洗化店起什么名字2010年日历土和火的名字能放在一起么查字典起名字怎么查公司起名网站十大排名北京起名馆乌镇互联网大会梦见着火企业起名三个字精选fieldrunners王老吉淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化