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 的填充模式,具 ...
随机推荐
- 更改oracle RAC public ip,vip,scan ip和private ip
更改oracle RAC public ip,vip,scan ip和private ip oifcfg - Oracle 接口配置工具 用法: oifcfg iflist [-p [-n]] ...
- javaweb关于用户是否登录全局判断,没有登录跳转到登录界面
有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清除,而一些业务逻辑则是需要用到用户的信息,那么用户再执行操作后, ...
- 2.5路由网关:Zuul
在原有的工程上,创建一个新的工程 创建service-zuul工程 其pom.xml文件如下: <?xml version="1.0" encoding="UTF- ...
- PHP和js判断访问设备是否是微信浏览器实例
PHP和js判断访问设备是否是微信浏览器实例,代码非常精简,适合新手学习. js判断是否是微信浏览器: 1 function is_weixin() { 2 var ua = window.navig ...
- Python 【for/while循环】
循环语句for...in..循环语句 1.空房间 #元素(item) 可以当成是一个变量 for i in [1,2,3,4,5]: #变量i是“空房间” print(i) #有一群数字在排队办业务, ...
- Python 流程控制与循环体
Python 的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承.Py ...
- 10-MySQlL DBA笔记-基础知识
第四部分 运维篇 首先来了解一下数据库的定义,数据库是高效的.可靠的.易用的.安全的多用户存储引擎,我们可以通过它访问大量的持久化数据.我们管理和维护数据库,本质上也是要确保如上的特性,尽可能地保证数 ...
- hive面试题(免费拿走不谢)
Hive 最常见的几个面试题 1.hive 的使用, 内外部表的区别,分区作用, UDF 和 Hive 优化(1)hive 使用:仓库.工具(2)hive 内部表:加载数据到 hive 所在的 hdf ...
- 一步一步搭建 .net core 应用
前言 近段时间 .net core 大火,公司也打算趁此机会把后续项目迁移到 .net core 平台上,我们下面的一帮人也就跟着大部队,开始狂补 dotnetcore 相关的技术了.此贴主要记录我在 ...
- 07 Redis存储Session
django-redis-sessions 官方文档:https://pypi.org/project/django-redis-sessions/ dango-redis 官方文档:http://n ...