Visual C++ 6.0实例教程 第5章

Visual C++ 6.0实例教程 第5章

ID:40239548

大小:557.00 KB

页数:32页

时间:2019-07-28

Visual C++ 6.0实例教程 第5章_第1页
Visual C++ 6.0实例教程 第5章_第2页
Visual C++ 6.0实例教程 第5章_第3页
Visual C++ 6.0实例教程 第5章_第4页
Visual C++ 6.0实例教程 第5章_第5页
资源描述:

《Visual C++ 6.0实例教程 第5章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第5章图形操作内容摘要:CD和CDC类GDI和CGdiObject类绘图程序实例一绘图程序实例二返回目录5.1CD和CDC类学习目标1.了解设备环境(DeviceContext,简称DC)和设备环境类(CDC)2.利用设备环境类进行简单绘图5.1返回第5章使用设备环境类绘图的一个简单例子利用AppWizard生成基于对话框程序框架(BmpTest)添加画线和画椭圆的代码(OnPaint()函数)见下页代码解释:(1)CPaintDCdc(this);这句代码是生成一个CPaintDC类的实例dc,生成后就可以调用他的函数来进行绘图了。(2)dc.

2、MoveTo(30,30);调用dc的MoveTo函数把画线的起点定在对话框的(30,30)坐标点。MoveTo函数的一般调用格式为:MoveTo(intx,inty),其中参数x,y是要画直线的起始点坐标。(3)dc.LineTo(30,30);调用dc的LineTo函数画线到(100,100)坐标点。LineTo函数的一般调用格式为:LineTo(intx,inty),其中参数x,y是所画直线的终止点坐标。(4)dc.Ellipse(120,120,160,160);本句代码的作用是调用设备环境对象dc的画椭圆函数Ellipse画椭圆。Ell

3、ipse函数的一般调用格式为:Ellipse(LPCRECTlpRect),其中参数lpRect是所画椭圆的外接矩形。5.15.1voidCBmpTestDlg::OnPaint(){if(IsIconic()){CPaintDCdc(this);//devicecontextforpaintingSendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0);//CentericoninclientrectangleintcxIcon=GetSystemMetrics(SM_CXICON);in

4、tcyIcon=GetSystemMetrics(SM_CYICON);CRectrect;GetClientRect(&rect);intx=(rect.Width()-cxIcon+1)/2;inty=(rect.Height()-cyIcon+1)/2;//Drawtheicondc.DrawIcon(x,y,m_hIcon);}else{CPaintDCdc(this);//devicecontextforpaintingdc.MoveTo(10,10);dc.LineTo(100,100);dc.Ellipse(120,120,160,

5、160);CDialog::OnPaint();}}2.1voidCBmpTestDlg::OnPaint(){if(IsIconic()){//与前一页代码相同;else{CPaintDCdc(this);//devicecontextforpaintingCPennewpen(PS_SOLID,1,RGB(0,255,0));CBrushnewbrush(RGB(0,0,255));CPen*pOldpen=dc.SelectObject(&newpen);CBrush*pOldbrush=dc.SelectObject(&newbrush)

6、;dc.MoveTo(10,10);dc.LineTo(100,100);dc.Ellipse(80,80,120,120);dc.SelectObject(pOldpen);dc.SelectObject(pOldbrush);CDialog::OnPaint();}}4.改变画图颜色5.1代码解释:1.CPennewpen(PS_SOLID,1,RGB(0,255,0));生成一支颜色为绿色、宽度为1个像素的实心画笔。2.CBrushnewbrush(RGB(0,0,255));生成一只颜色为蓝色的画刷。3.CPen*pOldpen=dc.S

7、electObject(&newpen);把刚生成的画笔选进设备环境对象dc,这样再画线就用新的笔了。当SelectObject函数的参数为画笔类型时,返回值为原来所用画笔的指针。4.CBrush*pOldbrush=dc.SelectObject(&newbrush);把刚生成的画刷选进设备环境对象dc。当SelectObject函数的参数为画刷类型时,返回值为原来所用画刷的指针。5.dc.SelectObject(pOldpen);绘图完毕后把原来的画笔再选进设备环境对象。6.dc.SelectObject(pOldbrush);绘图完毕后把

8、原来的画刷再选进设备环境对象。Cpen类的构造函数声明是:CPen(intnPenStyle,intnWidth,COLORREFcrC

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。