- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用VC++在屏幕上绘图;如何建立一个VC++应用程序框架文件:;一.MFC绘图函数:;例如,如果想用一个能够画粗线条的画笔,就必须创建一个新画笔,然后用它取代设备环境中原有的画笔。类似的,如果想用红色的画刷填充一个图形,必须创建一个画刷,并将它选进设备环境,这就是Windows程序员在设备环境中取代工具的方式。;下面简单介绍几种设备环境:;;;③.CClientDC 这个设备环境对象仅仅代表了当前窗口区域。它的构造函数调用GetDC函数,它的析构函数调用ReleaseDC 函数。
对于在OnDraw和OnPaint处理器之外的函数中显示图形,必须生成CClientDC类成员的设备环境对象。
CMyFunction::Function()
{CClientDC ClientDC(this);
// TODO: Add your message handler code here}
;1.2 选择绘图工具;1.2.1 选用库存的绘图工具;1.2.2 生成自定义的绘图工具 ; (1)生成笔(CPen类)和刷(CBrush)类的实例;
CPen pen; CBrush brush;
(2)调用CPen类和CBrush类的成员函数来初始化笔和刷;
画笔的初始化
CPen::CreatePen ; BOOL CreatePen(int nPenStyle,
int nWidth,COLORREF crColor);
nPenStyle : PS_SOLID
PS_DOT
PS_DASH
PS_DASHDOT
PS_DASHDOTDOT
nWidth : 线的宽度(线宽1均产生实线); crColor参数指定线的颜色,类型为
COLORREF RGB(BYTE bRed ,
BYTE bGreen, BYTE bBlue);
0≤bRed ,bGreen, bBlue≤255
RGB宏功能定义了16种纯颜色。 ;RGB(0,0,0);黑色RGB(255,255,255);白色
RGB(128,0,0);深红RGB(255,0,0);淡红
RGB(0, 128,0);深绿RGB(0, 255,0);淡绿
RGB(0,0,128);深蓝RGB(0,0.255);淡蓝
RGB(128,128,0);深黄
RGB(255,255,0);淡黄
RGB(0,128,128);深青
RGB(0,255,255);淡青 等。;画刷的初始化:
BOOL CreateSolidBrush(
COLORREF crColor);
BOOL CreateHatchBrush(
int nIndex,COLORREF crColor);
BOOL CreatePatternBrush(
Cbitmap *pBitmap); ; nIndex指定格子的形式。
HS_CROSS 水平垂直交叉阴影
HS_HORIZONAL 水平阴影线
HS_VERTICAL 竖直阴影线
HS_DIAGCROSS 45度交叉阴影对角线
HS_BDIAGONL 以45度角从左上到右下倾斜的阴影
HS_FDIAGONL 以45度角从左下到右上倾斜的阴影;(3)将生成的笔和刷选入设备环境对象中,并将设备环境对象的原有的笔和刷保存在指针中;
CDC::SelectObject
CPen * SelectObject (CPen *pPen);
CBrush*SelectObject(Cbrush*pBrush);
注意:该函数返回的是原来的设备环境对象的指针;1.3 设置绘图属性;(2)背景方式
GetBkMode()
SetBkMode(int nBkMode)
nBkMode: OPAQUE
TRANSPARENT
这两个函数主要影响Chord ,Ellipse和Pie等闭合图形绘图函数。;(3)绘图方式
GetROP2( );
int SetROP2( int n
文档评论(0)