新建单个文档的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的更多相关文章

  1. VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)

    上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一 ...

  2. MFC更换画笔(画刷)颜色以及画眼睛(GDI画图)

    MFC画眼睛 换画笔(画刷)颜色(参考链接:https://blog.csdn.net/sunxiving/article/details/51272001) 由于画笔一旦创建后就无法修改.所以要修改 ...

  3. VS2010-MFC(图形图像:GDI对象之画刷CBrush)

    转自:http://www.jizhuomi.com/software/248.html 上一节讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. ...

  4. C# GDI绘图之——画笔和画刷

    绘制图形需要画笔和画刷: Pen(画笔类): Pen为C#编程语言中专门的画笔类 使用方式: // 用系统颜色来初始化我们的画笔类,使用Color静态类中的颜色 1. Pen p1 = new Pen ...

  5. 从零开始学习GDI+ (三) 画笔与画刷

  6. VS2010/MFC编程入门之五十(图形图像:GDI对象之画笔CPen)

    上一节中鸡啄米讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGdiObject类是GDI对象的基类,通过查阅MSDN我们可以看到,CGdiObje ...

  7. [游戏模版3] Win32 画笔 画刷 图形

    >_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and s ...

  8. VS2010-MFC(图形图像:GDI对象之画笔CPen)

    转自:http://www.jizhuomi.com/software/246.html 上一节讲了CDC类及其屏幕绘图函数,本节的主要内容是GDI对象之画笔CPen. GDI对象 在MFC中,CGd ...

  9. qt画刷和画笔

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #画刷和画笔:QBrush 定义了 QPainter 的填充模式,具 ...

随机推荐

  1. oracle父子级查询数据树结构

    select t.*, level , sys_connect_by_path (t .id, '-->') as tree from isc_res_res_r t connect by pr ...

  2. 我学会了正确的dinic

    以前写Isap的时候,总是被卡,然后学了一发Isap的当前弧优化,好像可以水过很多题 但是一直没明白为啥Isap会走一个环??? 然后写dinic了,听说不容易被卡(来自去年九省联考的指导) 然而-- ...

  3. Synchronized&Lock&AQS详解

    加锁目的:由于线程执行的过程是不可控的,所以需要采用同步机制来协同对对象可变状态的访问. 加锁方式:java锁分为两种--显示锁和隐示锁,本质区别在于显示锁需要的是程序员自己手动的进行加锁与解锁如Re ...

  4. python 自动化测试

    安装selenium 安装命令: pip install selenium 测试 打开一款Python编辑器,默认Python自带的IDLE也行.创建 baidu.py文件,输入以下内容: from ...

  5. 9.ssh登录慢

    修改方式:使用root权限修改ssh的配置文件,vim /etc/ssh/sshd_config增加一行记录:UseDNS no修改GSSAPIAuthentication参数为 no,默认是yesP ...

  6. LibSVM格式简介

    对于训练或预测,XGBoost采用如下格式的实例文件: train.txt 1 101:1.2 102:0.03 0 1:2.1 10001:300 10002:400 0 0:1.3 1:0.3 1 ...

  7. Spring IOC Container

    All the notes are from Spring Framework 5 Doc. 一.Introduction to the Spring IOC Container and Beans ...

  8. SMTP实现发送邮箱1

    #include "stdafx.h" #include <iostream> #include <WinSock2.h> using namespace ...

  9. 轻松入门CAS系列(1)-轻松看懂企业单点登录的解决方案

    常见的企业应用情况 企业内部的信息化一般都是一个过程中的 ,起初企业为了部分管理的需要,会上线几个信息化系统:后来对这块慢慢重视,信息系统会越来越多.开始,只有一两个系统时,员工还好,靠脑袋还能记得住 ...

  10. idea插件,配置

    1.插件 2.配置 1.去除double shift 全局搜索的功能,反正不符合我的习惯 Help -> Find Action  搜索 registry ,勾选 double.click.ha ...