VC++学习(1)——环境准备,参考文档等,初步入门VC++

在这里插入图片描述

目录

  • 引出
  • 环境准备,参考文档
  • 第一讲 初步入门
    • 键盘按下的消息
    • 鼠标左键按下
    • 报错
    • 源码
    • 新建一个工程
  • 总结

引出

VC++学习(1)——环境准备,参考文档等,初步入门VC++

C++是一门编程语言,他的语法标准和语言特性是全球统一的

VC++是微软在C++语言基础上加入了自己公司扩展的一些东西

VC++是基于微软开发的编译器系统(例如Visual C++ 6.0编译系统,visual studio)和windows操作系统,也就是说你离开微软的编译环境是没有办法进行VC++开发的

VC++可以简单的视为 :

C++语言+微软扩展的语法规则+微软扩展的功能特性+微软自己开发的编译环境+windows操作系统 的一个混杂的复合体


环境准备,参考文档

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安装好的VC++

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

msdn参考文档

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择SDK

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

教材对应的视频和源代码

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

flash文件打不开问题

https://github.com/Mzying2001/CefFlashBrowser/releases

https://www.bilibili.com/list/ml847383748?oid=31626251&bvid=BV1AW411y7ad&p=3

第一讲 初步入门

比如加入一个程序变量

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设置一个断点,鼠标右键,加入断点

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

采用调试运行F5快捷键,或者点击图示图标

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

程序运行的时候,接收到了命令行参数

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

点击图示按钮,可以停止程序调试

在这里插入图片描述

程序的图标

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

去掉最小化窗口的按钮

WS_OVERLAPPEDWINDOW & ~WS_MINIMIZEBOX

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

关于窗体的位置

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

键盘按下的消息

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

鼠标左键按下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

报错

LINK : fatal error LNK1168: cannot open Debug/WinMain.exe for writing

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

源码

#include <windows.h>
#include <stdio.h>LRESULT CALLBACK WinSunProc(HWND hwnd,      // handle to windowUINT uMsg,      // message identifierWPARAM wParam,  // first message parameterLPARAM lParam   // second message parameter
);int WINAPI WinMain(HINSTANCE hInstance,      // handle to current instanceHINSTANCE hPrevInstance,  // handle to previous instanceLPSTR lpCmdLine,          // command lineint nCmdShow              // show state
)
{// 1.设置了一个窗口,定义窗口的一些信息WNDCLASS wndcls; // 窗口实例wndcls.cbClsExtra=0; // 窗口附加内存空间,通常设置为0wndcls.cbWndExtra=0; // 通常用不上,设置为0即可// 进行强制类型转换wndcls.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH); // 窗口的背景颜色wndcls.hCursor=LoadCursor(NULL,IDC_CROSS); // 光标句柄,这里光标就是十字 crosswndcls.hIcon=LoadIcon(NULL,IDI_ERROR); // 图标句柄,这里就是一个errorwndcls.hInstance=hInstance; // 代表当前应用程序的实例号wndcls.lpfnWndProc=WinSunProc; // 回调函数wndcls.lpszClassName="sunxin2006"; // 类的名字wndcls.lpszMenuName=NULL; // 没有菜单wndcls.style=CS_HREDRAW | CS_VREDRAW; // 水平和垂直坐标变化,窗口重画RegisterClass(&wndcls); // 注册窗口类,把窗口类的指针给他HWND hwnd; // 窗口的句柄// 注册的类名,WS_OVERLAPPEDWINDOW同时有了最大化,最小化按钮等hwnd=CreateWindow("sunxin2006","跟着大佬学习VC++",WS_OVERLAPPEDWINDOW & ~WS_MINIMIZEBOX /*& ~WS_MINIMIZEBOX */,0,0,600,400,NULL,NULL,hInstance,NULL);// 显示窗口,正常显示normalShowWindow(hwnd,SW_SHOWNORMAL);UpdateWindow(hwnd);// 消息队列MSG msg;while(GetMessage(&msg,NULL,0,0)) // 0表示所有信息都感兴趣{// 按键的按下和抬起,转化成WM_CHAR,放到消息队列中TranslateMessage(&msg);// 将消息路由给操作系统,操作系统给wndcls.lpfnWndProc=WinSunProc; // 回调函数进行处理DispatchMessage(&msg);}return msg.wParam;
}// 回调函数
LRESULT CALLBACK WinSunProc(HWND hwnd,      // handle to windowUINT uMsg,      // message identifierWPARAM wParam,  // first message parameter 都是整数LPARAM lParam   // second message parameter
)
{switch(uMsg){case WM_CHAR: // 用户按下了按键char szChar[20];// sprintf,格式化文本放到字符数组中sprintf(szChar,"char code is %d",wParam);MessageBox(hwnd,szChar,"char",MB_YESNO);break;case WM_LBUTTONDOWN:MessageBox(hwnd,"mouse clicked","message",0);HDC hdc;// 在哪里画图hdc=GetDC(hwnd);// 参数:在哪里,位置,输入文字,文字长度TextOut(hdc,0,50,"程序员之家",strlen("程序员之家"));// 释放DC,ReleaseDC(hwnd,hdc);break;// 窗口大小发生变化case WM_PAINT:HDC hDC;PAINTSTRUCT ps;// BeginPaint 和 EndPaint 是一对,只能用在WM_PAINT中hDC=BeginPaint(hwnd,&ps);TextOut(hDC,0,0,"http://www.sunxin.org",strlen("http://www.sunxin.org"));EndPaint(hwnd,&ps);break;// 窗口关闭的时候的消息case WM_CLOSE:if(IDYES==MessageBox(hwnd,"是否真的结束?","message",MB_YESNO)){DestroyWindow(hwnd);}break;case WM_DESTROY:PostQuitMessage(0);break;default:// 对其不感兴趣的进行缺省处理return DefWindowProc(hwnd,uMsg,wParam,lParam);}return 0;
}

新建一个工程

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


总结

VC++学习(1)——环境准备,参考文档等,初步入门VC++

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/14532.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机系统概述习题

选择题 电子计算机问世至今&#xff0c;新型计算机不断推陈出新&#xff0c;不管怎么更新&#xff0c;依然具有“存储程序”的特点&#xff0c;最早提出这种概念的是(B) A. 巴贝奇 B. 冯*诺伊曼 C. 帕斯卡 D. 贝尔 B下列描述中___是正确的。 A. 控制器能理解&#xff0c;解释…

中国主要城市房价指数数据集(2011-2024)

数据来源&#xff1a;东方财富网 时间跨度&#xff1a;2011年1月 - 2024年4月 数据范围&#xff1a;中国主要城市 包含指标&#xff1a; 日期、城市 新建商品住宅价格指数-同比 新建商品住宅价格指数-环比 新建商品住宅价格指数-定基 二手住宅价格指数-环比 二手住宅价格指…

Visual Studio 调试及快捷键

文章目录 原文连接环境一、调试器的基本使用1、更改执行流2、快速执行某一条代码断点设置条件断点查看内存信息查看调用堆栈查看寄存器信息设置监视断点调试二、快捷键一、窗口快捷键二、查找相关快捷键三、代码快捷键原文连接 【教程】visual studio debug 技巧总结 环境 一…

OpenCASCADE Draw模块TKDraw项目问题修改

1.问题 在调试Draw模块代码时&#xff0c;出现一个小问题&#xff0c;导致无法正常运行 如下&#xff1a; 2.代码跟踪 通过代码跟踪发现时一个数组越界问题&#xff0c;在此处添加了判断处理&#xff0c;程序可以正常调试

数据结构顺序表实现通讯录

目录 1. 前言&#xff1a; 2.通讯录项目的创建 3. 通讯录的实现 3.1 通讯录的初始化 3.2 通讯录的销毁 3.3 通讯录添加数据 3.4 通讯录查找数据 3.5 通讯录展示数据 3.6 通讯录删除数据 3.7 通讯录修改数据 4. 通讯录完整代码 4.1 test.c 4.2 SeqList.h 4.3 SeqLis…

数据结构(Java实现):ArrayList

目录 1.ArrayList简介2.ArrayList构造方法分析3.ArrayList的add方法以及扩容机制4.ArrayList常用方法5.ArrayList遍历6.ArrayList的缺陷 1.ArrayList简介 在集合框架中&#xff0c;ArrayList是一个普通的类&#xff0c;实现了List接口&#xff0c;具体框架图如下&#xff1a; …

编写一个llvm编译器插件,完成在store汇编指令前对内存合法性的check。

dds(iceoryx、fastdds等)中间件采用了共享内存&#xff0c;如果app内存越界将共享内存踩踏坏了&#xff0c;将会形成灾难。本插件可以检测到app是否在写共享内存&#xff0c;如果是&#xff0c;我们可以让app assert。从而提高dds的稳定性 插件效果&#xff1a; 插件源码&…

话题:如何让大模型变得更聪明?

随着人工智能&#xff08;AI&#xff09;技术的迅速发展&#xff0c;大模型&#xff08;如GPT-4、BERT、Transformer等&#xff09;在自然语言处理、图像识别和语音识别等领域取得了显著成果。然而&#xff0c;如何让大模型变得更聪明&#xff0c;进一步提升其性能和应用效果&a…

Jetbrain | IDEA的启动logo替换成可爱的vtuber-logo

看了这个&#xff0c;好可爱 【上Github热榜了&#xff01;当编程语言的Logo变得可爱起来~】 又看了这个 光速整活&#xff0c;强啊 看到很多人整IDEA的logo包括我自己&#xff0c;都不是特别方便的搞&#xff0c;我就直接把文件放在绑定资源里直接下吧 然后直接找到本体的安…

【深度学习】与【PyTorch实战】

目录 一、深度学习基础 1.1 神经网络简介 1.2 激活函数 1.3 损失函数 1.4 优化算法 二、PyTorch基础 2.1 PyTorch简介 2.2 张量操作 2.3 构建神经网络 2.4训练模型 2.5 模型评估 三、PyTorch实战 3.1 数据加载与预处理 3.2 模型定义与训练 3.3 模型评估与调优 3…

成都青年AI人才崭露头角,知了汇智科技助力孵化营大放异彩

5月18日-19日&#xff0c;为期两天的成都国际商贸城青年&#xff08;大学生&#xff09;AI应用孵化营活动在热烈的氛围中圆满落幕。本次活动由成都国际商贸城、成都成商数字科技有限公司、成都知了汇智科技有限公司及成都电商职教集团联合举办&#xff0c;旨在为青年&#xff0…

丢失api-ms-win-crt-runtime-l1-1-0.dll的多种解决方法分析,教你简单的一键修复

在使用Windows操作系统时&#xff0c;用户可能会遇到一个涉及丢失 ​api-ms-win-crt-runtime-l1-1-0.dll文件的警告&#xff0c;这可能导致某些程序无法正常运行。该DLL文件属于Microsoft Visual C Redistributable软件包的一部分&#xff0c;这个软件包为多个应用提供运行时支…

深度学习-Softmax回归+损失函数+图像分类数据集

目录 Softmax回归回归 VS 分类Kaggle上的分类问题 从回归到多类分类回归分类从回归到多类分类-均方损失从回归到多类分类-无校验比例从回归到多类分类-校验比例 Softmax和交叉熵损失总结损失函数均方损失绝对值损失函数鲁棒损失 图像分类数据集通过框架中内置函数将FashionMNIS…

RabbitMQ---交换机-Fanout-Direct

Publisher&#xff1a;生产者&#xff0c;不再发送消息到队列中&#xff0c;而是发给交换机Exchange&#xff1a;交换机&#xff0c;一方面&#xff0c;接收生产者发送的消息。另一方面&#xff0c;知道如何处理消息&#xff0c;例如递交给某个特别队列、递交给所有队列、或是将…

如何一键生成多个文本二维码?excel表格批量生码的方法

现在很多人会将文本信息做成二维码来展示&#xff0c;当有同类型内容生成大量二维码时&#xff0c;可以使用将文本导入excel表格的方式&#xff0c;将表格中的每条数据批量生成二维码&#xff0c;可以有效提升二维码制作的速度和效率。下面就让小编来将具体的操作步骤分享给大家…

二叉树顺序结构及链式结构

一.二叉树的顺序结构 1.定义&#xff1a;使用数组存储数据&#xff0c;一般使用数组只适合表示完全二叉树&#xff0c;此时不会有空间的浪费 注&#xff1a;二叉树的顺序存储在逻辑上是一颗二叉树&#xff0c;但是在物理上是一个数组&#xff0c;此时需要程序员自己想清楚调整…

手动安装maven依赖到本地仓库

使用mvn install命令安装jar包到指定的仓库。 命令如下&#xff1a; mvn install:install-file -Dmaven.repo.localC:\Users\liyong.m2\repository -DgroupIdcom.aspose -DartifactIdwords -Dversion18.4 -Dpackagingjar -DfileC:\Users\liyong\Desktop\jar\words-18.4.jar 解释…

grafana + Prometheus + node-exporter + pushgateway + alertmanager的监控解决方案

业内比较著名的监控解决方案&#xff0c;据笔者所知&#xff0c;大概是三套&#xff1a; 一个是zabbix的解决方案&#xff0c;一个是prometheusgrafana&#xff0c;一个是ELK zabbix比较重&#xff0c;而且原生支持监控SNMP&#xff0c;自带一个仪表盘&#xff0c;不需要额外…

docker redis 持久化

1、拉取redis镜像 docker pull redis:latest 2、 mkdir /data/redis 3、填充redis.conf文件及根据需求修改相应的配置 •通过官网地址找到对应版本的配置文件 •将配置信息复制到redis.conf中 •常见的修改配置 https://redis.io/docs/latest/operate/oss_and_stack/managem…

高仿果汁导航模板

参考原文&#xff1a;果汁导航风格模板_1234FCOM专注游戏工具及源码例子分享 极速云