MFC中CBrush和CPen有什么区别??? 望高手赐教,感激不尽!!!
展开全部
类CBrush封装了Windows图形设备接口(GDI)中的画刷。使用CBrush对象之前要构造它,然后传给需要画刷的CDC成员函数。画刷可以是实线的、阴影线的或图案的。类CBrush一共有四个覆盖的构造函数。不带参数的那个构造函数构造一个未初始化的CBrush对象,在使用该对象之前需要另外初始化。如果使用了不带参数的那个构造函数,则必须用CreateSolidBrush、CreateHatchBrush、CreateBrushIndirect、CreatePatternBrush或CreateDIBPatternBrush来初始化返回的CBrush对象。如果使用了带参数的构造函数,则不再需要初始化CBrush对象。带参数的构造函数在出错时会产生一个异常,而不带参数的构造函数总是成功返回。只带有一个参数COLORREF的构造函数用指定的颜色构造一个实线型的画刷。颜色是一个RGB值,可以用WINDOWS.H中的宏RGB构造出来。带两个参数的构造函数构造一个阴影线型的画刷,参数nIndex指定了阴影线模式的指数(index)。参数crColor指定了画刷的颜色。带有一个CBitmap型参数的构造函数构造一个模式化的画刷。
画笔是绘图的基本工具,在MFC中画笔是CPen类的对象,它用来在DC上完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。如果程序设计人员对这个默认的画笔不满意,可以自己创建画笔来替换它。所谓的自定义画笔,就是程序员自己创建的CPen类对象,创建画笔对象是,需要使用CPen类的构造函数。
下面是CPen例子:
CPen pen1;
CPen *oldPen;
pen1.CreatePen(PS_SOLID,2,RGB(192,192,192));//创建对象
oldPen = pDC->SelectObject(&pen1);//将画笔选入设备描述表,并保存旧的画笔
pDC->MoveTo(10,10);\\定义起点
pDC->LineTo(200,20);\\线的终点
pDC->SelectObject(oldPen);\\将以前的画笔选入设备描述表
画笔是绘图的基本工具,在MFC中画笔是CPen类的对象,它用来在DC上完成绘制线条的任务。初始化时,系统自动提供了一支黑色的默认画笔。如果程序设计人员对这个默认的画笔不满意,可以自己创建画笔来替换它。所谓的自定义画笔,就是程序员自己创建的CPen类对象,创建画笔对象是,需要使用CPen类的构造函数。
下面是CPen例子:
CPen pen1;
CPen *oldPen;
pen1.CreatePen(PS_SOLID,2,RGB(192,192,192));//创建对象
oldPen = pDC->SelectObject(&pen1);//将画笔选入设备描述表,并保存旧的画笔
pDC->MoveTo(10,10);\\定义起点
pDC->LineTo(200,20);\\线的终点
pDC->SelectObject(oldPen);\\将以前的画笔选入设备描述表
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询