MFC处理绘图_mfc简单绘图

2020-02-29 其他范文 下载本文

MFC处理绘图由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“mfc简单绘图”。

(一)简单的图形输出

1、点: pDC->SetPixel(Cpoint(200,200),RGB(255,0,0,));// 在 [200,200] 的位置画一个红点2、线: pDC->MoveTo(0,0);// 直线起点的坐标为(0,0)

pDC->LineTo(100,100)// 从起点(0,0)到终点(100,100)画一条直线

3、矩形: Crect rect(0,0,100,100);

pDC->Rectangle(&rect);// 画一个长 100,宽 100 的矩形

4、圆和椭圆:

Crect rect(0,0,100,100);

pDC->Ellipse(&rect);

Crect rect(0,0,50,100);

pDC->Ellipse(&rect);

5、多边形:

CPoint poly[4];

poly[0]=CPoint(0,0);

poly[1]=CPoint(50,50);

poly[2]=Cpoint(50,100);

poly[3]=Cpoint(0,50);

pDC->Polygon(poly,4);

(二)库存对象

库存对象是由操作系统维护的用于绘制屏幕的常用对象,包括库存画笔、画刷、字体等。使用 SelectStockObject()函数可以直接选择库存对象,修改系统默认值。

例如,在视图中选用画笔和画刷库存对象来画图。

Void Cexam3_3View::OnDraw(CDC*pDC)

{

Cexam3_2Doc*pDoc=GetDocument();

CRect rect;

Rect.SetRect(Cpoint(0,0),Cpoint(200,200));

pDC->SelectStockObject(WHITE_PEN);// 选用白色画笔

pDC->SelectStockObject(GRAY_BRUSH);// 选用灰色画刷

pDC->Rectangle(rect);

pDC->MoveTo(0,0);

pDC->LineTo(200,200);

pDC->MoveTo(0,200);

pDC->LineTo(200,0);

}

(三)创建和使用自定义画刷和画笔

1、创建 CPen 的的方法:

•定义时直接创建

Cpen MyPen(PS_SOLID,2,RGB(255,0,0));

(2)定义 Cpen 对象,再调用 CreatePen()函数

Cpen pen;

Pen.CreatePen(PS_SOLID,2,RGB(255,0,0));

2、创建画刷的方法:

(1)创建实心画刷的 CreateSolidBrush()函数

Cbrush bs;

Bs.CreateSolidBrush(RGB(255,0,0));

(2)创建带阴影的画刷的 CreateHatchBrush()函数

Bs.CreateHatchBrush(HS_CROSS,RGB(255,0,0));// 创建一个带十字阴影的红色画刷

(3)创建位图画刷的 CreatePatternBrush()函数

本函数的应用如下:

CbitMap bmp;

Bmp.LoadBitMap(IDB_MYBITMAP);

Cbrush bs;

Bs.CreatePatternBrush(&bmp);

例4_

3、在视图中绘制三个图形,一个用阴影风格的画刷画的椭圆形,一个用深兰色实心画刷画的圆角矩形,一个用浅灰色画刷画的饼形。

void CExam4_3View::OnDraw(CDC* pDC)

{

CExam4_3Doc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

// TODO: add draw code for native data here

//设置影象模式

pDC->SetMapMode(MM_ANISOTROPIC);

CPen NewPen,OldPen;

//将画笔选入设备上下文

NewPen.CreatePen(PS_SOLID,5,RGB(0,0,255));

//创建深蓝色实心画刷

pDC->SelectObject(&NewPen);

CBrush NewBrush1,NewBrush2;

//将画刷选入设备上下文

NewBrush1.CreateSolidBrush(RGB(0,0,128));

//绘制圆角矩形

pDC->RoundRect(200,100,330,200,15,15);

//将库存对象浅灰画刷选入设备上下文

pDC->SelectStockObject(LTGRAY_BRUSH);

//绘制饼图

pDC->Pie(350,50,420,150,360,50,400,50);

//创建阴影画刷

NewBrush2.CreateHatchBrush(HS_DIAGCROSS,RGB(125,125,125));

pDC->SelectObject(NewBrush2);

//绘制椭圆

pDC->Ellipse(50,50,150,150);

}

《MFC处理绘图.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
MFC处理绘图
点击下载文档
相关专题 mfc简单绘图 MFC mfc简单绘图 MFC
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文