同济大学C++课件 第八章.ppt

同济大学C++课件 第八章.ppt

ID:56976413

大小:295.00 KB

页数:23页

时间:2020-07-25

同济大学C++课件 第八章.ppt_第1页
同济大学C++课件 第八章.ppt_第2页
同济大学C++课件 第八章.ppt_第3页
同济大学C++课件 第八章.ppt_第4页
同济大学C++课件 第八章.ppt_第5页
资源描述:

《同济大学C++课件 第八章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章文档/视图结构应用程序8.1文档/视图结构8.2图形与文字输出8.3定时器8.4鼠标和键盘消息处理8.5对话框8.6菜单设计8.7程序举例8.1文档/视图结构文档:用于管理应用程序的数据视图:用户界面,用于显示、打印文档中的数据管理与用户的交互。数据的管理与显示分离的思想简化了开发过程文档/视图结构应用程序:SDIMDI【例8.1】在窗口中显示一个矩形框,框中显示“同舟共济自强不息”1.生成SDI应用程序框架2.在CTESTDoc类中添加数据成员:public:CRectr;CStrings;3.在文档类中对数据成员初始化BOOLCTESTDoc::

2、OnNewDocument(){if(!CDocument::OnNewDocument())returnFALSE;//TODO:addreinitializationcodehere//(SDIdocumentswillreusethisdocument)r=CRect(100,60,260,100);s="同舟共济自强不息";returnTRUE;}工程名为TEST4.在CTESTView类的OnDraw()函数添加代码:voidCTESTView::OnDraw(CDC*pDC){CTESTDoc*pDoc=GetDocument();ASSERT

3、_VALID(pDoc);//TODO:adddrawcodefornativedataherepDC->Rectangle(pDoc->r);pDC->TextOut(110,70,pDoc->s);}说明:(1)ClassView有5个类和1个全局对象:CAboutDlg类:about对话框类,由CDialog派生。CMainFrame类:窗口框架类,由CFrameWnd派生CTESTApp类:应用程序类,由CWinApp派生CTESTDoc类:文档类,由CDocument派生CTESTView类:视图类,由CView派生theApp全局对象(2)CR

4、ect描述一个矩形,有4个数据成员:left、top、right和bottom。(3)GetDocument()返回值指向当前文档的指针。示例:CTESTDoc*pDoc=GetDocument();作用:让pDoc指向当前文档(4)输出在OnDraw()中完成pDC指向窗口中央的客户区对象voidCTESTView::OnDraw(CDC*pDC){CTESTDoc*pDoc=GetDocument();//获得指向文档类对象的指针ASSERT_VALID(pDoc);//检查pDoc是否有效,若无效结束程序//TODO:adddrawcodeforna

5、tivedatahere}(5)OnDraw()的调用自动调用:当窗口发生变化时手工调用:调用Invalidate()和InvalidateRect()函数时Invalidate(TRUE)//擦除窗口原有的内容,重新绘制。Invalidate(FALSE)//窗口原有的内容保留,再进行绘制。InvalidateRect(矩形,TRUE)//重新绘制这个矩形区域。InvalidateRect(矩形,FALSE)//原有内容保留,再绘制矩形区域。(1)文字输出BOOLTextOut(intx,inty,LPCTSTRlpszString,intnCoun

6、t);(2)画点COLORREFSetPixel(intx,inty,COLORREFcrColor);COLORREFSetPixel(POINTpoint,COLORREFcrColor);说明:例如:COLORREFC1=RGB(0,0,0))//合成黑色COLORREFC2=RGB(255,0,0))//合成红色COLORREFC3=RGB(255,255,0))//合成黄色COLORREFC4=RGB(255,255,255))//合成白色POINT:MFC的结构类型,表示平面上的一个点,数据成员是x和yCOLORREF:32位整数类型,表示颜色

7、例如:COLORREFC1=RGB(0,0,0))//合成黑色COLORREFC2=RGB(255,0,0))//合成红色COLORREFC3=RGB(255,255,0))//合成黄色COLORREFC4=RGB(255,255,255))//合成白色(3)画线起点:CPointMoveTo(intx,inty);CPointMoveTo(POINTpoint);终点:BOOLLineTo(intx,inty);BOOLLineTo(POINTpoint);(4)画矩形BOOLRectangle(intx1,inty1,intx2,inty2);BOOL

8、Rectangle(LPCRECTlpRect);(5)画椭圆BO

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

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

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