MFC 画笔CPen、画刷CBrush
新建单个文档的MFC应用程序,类视图——View项的属性——消息,WM_PAINT,创建OnPaint()函数
dc默认有一个画笔(实心1像素宽黑线)。
CPen画笔非实心线像素宽必须为1,否则膨胀接到一起,与实心线没有差异。
CBrush画刷,用来填充封闭区域,默认白色填充。

void CMFCApplication27View::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
//-------------------- 画笔创建方式一 -------------------------------------//
CPen pen(PS_SOLID, , RGB(, , ));//创建画笔,实心线、6像素宽、红色
dc.SelectObject(&pen); //选择此画笔 CRect rect;
this->GetClientRect(&rect);//获取客户区大小
dc.MoveTo(, );//起始点
dc.LineTo(rect.Width() - , );//终点
//-------------------- 画笔创建方式二 -------------------------------------//
CPen pen2;
pen2.CreatePen(PS_DASH, , RGB(, , )); //DASH虚线,DOT点线,DASHDOT(杠点),DASHDOTDOT(杠点点)
dc.SelectObject(&pen2);
dc.MoveTo(, );
dc.LineTo(rect.Width() - , );
//-------------------- 画笔创建方式三 -------------------------------------//
CPen pen3;
LOGPEN lp;//逻辑笔
lp.lopnStyle = PS_DASH;
lp.lopnWidth.x = ;
lp.lopnColor = RGB(, , );
pen3.CreatePenIndirect(&lp); dc.SelectObject(&pen3);
dc.MoveTo(, );
dc.LineTo(rect.Width() - , );
//--------------------------------- 画笔切换 --------------------------//
dc.SelectObject(&pen);
dc.MoveTo(, );
dc.LineTo(, );
dc.SelectObject(&pen2);
dc.LineTo(, );
dc.SelectObject(&pen3);
dc.LineTo(, );
//--------------------------------- 画刷 --------------------------//
CBrush brush(RGB(, , ));//画刷(默认实心填充),蓝色
dc.SelectObject(&brush);//选择画刷
dc.SelectObject(&pen);//选择画笔pen
dc.Rectangle(, , , ); CBrush brush2(HS_DIAGCROSS, RGB(, , ));//DIAGCROSS网格填充、CROSS方格填充、BDIAGONAL左斜45°填充、FDIAGONAL右斜45°、HORIAONTAL水平、VERTICAL竖直
dc.SelectObject(&brush2);
dc.Rectangle(, , , );//pen画笔
}
MFC 画笔CPen、画刷CBrush的更多相关文章
- VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)
上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...
- MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)
MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...
- VS2010-MFC(图形图像:GDI对象之画刷CBrush)
转自:http://www.jizhuomi.com/software/248.html 上一节讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. ...
- C# GDI绘图之——画笔和画刷
绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen ...
- 从零开始学习GDI+ (三) 画笔与画刷
- VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)
上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...
- [游戏模版3] Win32 画笔 画刷 图形
>_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...
- VS2010-MFC(图形图像:GDI对象之画笔CPen)
转自:http://www.jizhuomi.com/software/246.html 上一节讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGd ...
- qt画刷和画笔
# -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #画刷和画笔:QBrush 定义了 QPainter 的填充模式,具 ...
随机推荐
- SQL语句中的HAVING关键字
sql中的having语句是在使用group by的时候使用的. 通常where语句是在group by之前做数据筛选的,而having语句是对group by之后的结果进行筛选的. 例如: 从商品销 ...
- 大话数据结构(8) 串的模式匹配算法(朴素、KMP、改进算法)
--喜欢记得关注我哟[shoshana]-- 目录 1.朴素的模式匹配算法2.KMP模式匹配算法 2.1 KMP模式匹配算法的主体思路 2.2 next[]的定义与求解 2.3 KMP完整代码 2.4 ...
- Ubuntu系统降内核
本人安装的Ubuntu16.04.6系统原生内核为4.15.0,但安装的应用仅支持4.8.0以下内核,因此需要降内核.PS:降内核有风险,操作前请慎重 1.查看可用的内核 输入命令查看已经可用的内核 ...
- 尝试 javascript 一对多 双向绑定器
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...
- React virtual DOM explained in simple English/简单语言解释React的虚拟DOM
初学React,其中一个很重要的概念是虚拟DOM,看了一篇文章,顺带翻译一下. If you are using React or learning React, you must have hear ...
- 使用X.509数字证书加密解密实务(三)-- 使用RSA证书结合对称加密技术加密长数据
一. 使用证书结合对称加密算法加.解密长数据 上一章节讨论了如何使用RSA证书加密数据,文中提到:“Dotnet的RSA实现有个特点,它必须要在明文中添加一些随机数,所以明文不能把128字节占满,实 ...
- BIOS将MBR读入0x7C00地址处(x86平台下)
BIOS将MBR读入0x7C00地址处(x86平台下) https://www.cnblogs.com/jikebiancheng/p/6193953.html http://www.ruanyife ...
- Linux与Windows的设备驱动模型对比
Linux与Windows的设备驱动模型对比 名词缩写: API 应用程序接口(Application Program Interface ) ABI 应用系统二进制接口(Application Bi ...
- 关于微信小程序返回页面时刷新页面的实现
在小程序开发中,我们通常会遇到这样的需求:提交某个表单成功后跳转该表单详情页面,但是返回时需要跳转回到首页(注意:我这里的首页是提交表单页的前一个页面),而不能再返回提交表单的页面,并且要在首页中刷新 ...
- css选择器找亲戚
1.first-child first-child表示选择列表中的第一个标签.代码如下: li:first-child{background:#090} 上面的意思是,li 列表中的 第一个li模块的 ...