C++/MFC工程[1]——创建新项目及常用类介绍
创始人
2025-05-30 00:45:40
0

 一、创建新项目

1、选择“MFC应用”,点击“下一步”

2、 配置项目

默认项目名称如下,此处使用默认名。

点击“创建”,应用程序类型选择“单个文档”,项目样式选择“MFC standard”。

注:本文以单文档为例

 

点击“完成”。

3、运行新项目

直接点击“本地调试器”,发现此时已经是一个可运行的项目。

 二、基础知识介绍

       VC++具有强大的绘图功能,在Windows平台下,GDI(Graphics Device Interface)图形设备接口被抽象为上下文CDC类(Device Context,DC)。Windows平台直接接收图形数据信息的不是显示器和打印机等硬件设备,而是CDC对象。

1、CPoint 类:存放点坐标

//定义坐标为(100,50)的点P0
CPoint P0(100,50);

2、CRect 类:存放矩形两个顶点坐标

//左上顶点为(10,20),右下顶点为(100,50)的矩形
CRect rect(10,20,100,50);

 3、CSize 类:存放矩形的宽度和高度

//构造函数有5种
CSize( );
CSize( int initCX, int initCY );
CSize( SIZE initSize );
CSize( POINT initPt );
CSize( DWORD dwSize ); // 低字设为cx、高字设为cy

 注:类CSize是对Windows结构SIZE的封装,凡是能用SIZE结构的地方都可以用CSize代替。

 4、CPen 类:封装了GDI画笔,用于绘制图形边界线

//定义新画笔
CPen NewPen;
//画笔参数含义为(样式,宽度,颜色)
NewPen.CreatePen(0, 1, RGB(0, 255, 0)); //实线,1像素宽,绿色

5、CBrush 类:封装了GDI画刷,用于填充图形内部

//定义新画刷
CBrush NewBrush;
NewBrush.CreateSolidBrush(0xFF0000);//蓝色

三、颜色表示的简单介绍

       相信细心的你已经发现,上述画笔类和画刷类的参数中,都有颜色出现,但形式并不相同。本文只作简单介绍,感兴趣的朋友可以自行学习。

       我们平常所看到的屏幕颜色是通过一个个像素点显示的,每个像素包括三种基色——红色,绿色和蓝色。一个像素需要占用24bit,那么一种基色占8bit,不难理解,其深浅程度可分为256种。

       我们用来表示颜色有两种方法,RGB 法或者HEX 法(十六进制法)。

1、RGB 法

RGB(red, green, blue):其中red、green、blue均为数字。

例:红色表示为RGB(255,0,0)

2、HEX 法(十六进制法)

RGB 法中,三个参数均为十进制表示,顺序依次为“红绿蓝”。十六进制表示法,顾名思义,将十进制转换为十六进制对颜色进行表示,但实现原理是相同的。需要注意的一点是,HEX 法中三个基色的顺序与RGB 法相反,是“蓝绿红”。

例:红色表示为0x0000FF

注:每种 RGB 成分都可使用从 0(黑色)到 255(白色)的值。白色参数值均为255(FF),黑色参数值均为0(00)。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...