GDI对象CPen

1. 基本用法
MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下:MFC的CPen类封装了画笔对象,其中的成员函数CreatePen实现创建画笔的功能,函数原型如下:

	BOOL CreatePen(	
		int nPenStyle,  //画笔风格
		int nWidth,     //画笔宽度
		COLORREF crColor )    //画笔颜色)

设置线型

创建画笔的函数中,nPenStyle参数表示画笔风格,可以设置下列值之一。nPenStyle —— Long,指定画笔样式,可以是下述常数之一:

PS_SOLID : 画笔画出的是实线。

PS_DASH: 画笔画出的是虚线(nWidth必须不大于1)。

PS_DOT: 画笔画出的是点线(nWidth必须不大于1)。

PS_DASHDOT:画笔画出的是点划线(nWidth必须不大于1)。

PS_DASHDOTDOT: 画笔画出的是点-点-划线(nWidth必须不大于1)。

PS_NULL: 空画笔,画笔不能画图。

PS_INSIDEFRAME:内侧实线画笔 由椭圆、矩形、圆角矩形、饼图以及弦等生成的封闭对象框时,画线宽度向内扩展。如指定的准确RGB颜色不存在,就进行抖动处理。

设置线宽

创建画笔的函数中,nWidth表示画笔线宽,是一个逻辑值,这个值越小,画出的图形线越细;这个值越大,绘制的图形线条越粗

设置画笔颜色

画笔颜色通过RGB宏控制,例如需要画红色的图形,RGB(255,0,0)。MFC中有许多引用颜色宏RGB,这里总结了一些常见的颜色的宏,供大家参考。

基本颜色三种:红绿蓝,其他的颜色都是由这三种基本的颜色组成。例如,红RGB(255,0,0)、绿RGB(0, 255,0)、蓝RGB(0,0, 255)、浅粉红 #FFB6C1 255,182,193、紫色 #800080 128,0,128等。
MFC OnPaint()函数中实现画笔使用

	//获取DC
		CPaintDC dc(this);
	//创建画笔
		CPen newPen;
		CPen *pOldPen;
		newPen.CreatePen(PS_SOLID,3,RGB(0,0,255));
	//将画笔选入DC
		pOldPen=dc.SelectObject(&newPen);
	//绘制图形
		dc.MoveTo(100,100);
		dc.LineTo(400,400);
	//恢复画笔
		dc.SelectObject(pOldPen);
	//删除新建画笔
		newPen.DeleteObject();
		pOldPen->DeleteObject();	

2. 易错难点

猜你喜欢

转载自blog.csdn.net/qq_29187197/article/details/82970118
今日推荐