欢迎来到天天文库
浏览记录
ID:38578065
大小:2.07 MB
页数:76页
时间:2019-06-15
《VisualC++绘图基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机图形学与数字地图第3章VisualC++绘图基础Email:yujieqing@cumt.edu.cn余接情本章大纲1VC++编程入门2Window图形绘制基本概念3GDI对象及其使用4基本图形绘制5文本与字体6映射模式与绘图模式1VC++编程入门1.1生成一个新的图形界面工程1VC++编程入门1VC++编程入门1VC++编程入门1.2如何调试一段代码编译生成执行执行到断点设置断点1VC++编程入门查看变量值1VC++编程入门1VC++编程入门1.3消息机制Windows是一个多进程的图形窗口操作系统,Windows应用程序与DOS应用程序有很大的区别。DOS应
2、用程序采用顺序执行过程,而Windows是一个基于事件的消息(Message)驱动系统。消息(Message)就是关于发生事件的信息。从程序的观点度看,消息驱动就是由消息来驱动/响应某个函数,消息驱动程序设计是围绕着消息的产生与处理而展开的。1VC++编程入门根据处理函数和处理过程的不同,MFC主要处理三类消息:Windows消息,前缀以“WM_”打头,WM_COMMAND例外。Windows消息直接送给MFC窗口过程处理,窗口过程调用对应的消息处理函数。一般,由窗口对象来处理这类消息,也就是说,这类消息处理函数一般是MFC窗口类的成员函数控制通知消息,是控制子窗口送
3、给父窗口的WM_COMMAND通知消息。窗口过程调用对应的消息处理函数。一般,由窗口对象来处理这类消息,也就是说,这类消息处理函数一般是MFC窗口类的成员函数。命令消息,这是来自菜单、工具条按钮、加速键等用户接口对象的WM_COMMAND通知消息,属于应用程序自己定义的消息。通过消息映射机制,MFC框架把命令按一定的路径分发给多种类型的对象(具备消息处理能力)处理,如文档、窗口、应用程序、文档模板等对象。能处理消息映射的类必须从CCmdTarget类派生1VC++编程入门1VC++编程入门WinMain(hInst,hPrev,…){…MSGmsg;While(Get
4、Message(&msg…)){TranslateMessage(…);DispatchMessage(…);}returnmsg.wParam;WndProc(hWnd,msg,wParam,lParam){switch(msg){caseWM_CREATE:…caseWM_PAINT:caseWM_KEYDOWN:caseWM_DESTROY:PostQuitMessage(0);break;default:return(DefWindowProc(...));}return(0);消息队列WM_QUITWM_DESTROYvoidCTestView::OnDra
5、w(CDC*pDC){CTestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahere}pDC定义为CDC类的指针。pDoc通过GetDocument()函数得到了指向文档类CTestDoc的指针。ASSERT_VALID(pDoc)函数使pDoc指针有效。使用pDC指针,可以对CDC类的成员函数进行操作。OnDraw()函数是由系统框架直接调用的,每当窗口重绘时就会自动执行。OnDraw()函数:1VC++编程入门2.1图形设备接口(GDI)Windows提供了一个称
6、为图形设备接口GDI(GraphicsDeviceInterface)的抽象接口。GDI作为Windows的重要组成部分,它负责管理用户绘图操作时功能的转换。用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令,避免了直接对硬件进行操作,从而实现所谓的设备无关性。2Window图形绘制基本概念图形设备接口GDI管理Windows应用程序图形的绘制,在应用程序中,通过调用GDI函数绘制不同尺寸、颜色、风格的几何图形、文本和位图。这些图形处理函数组成了图形设备接口GDI。MFC(MicrosoftFoundationClass
7、)将GDI函数封装在一个名为CDC的设备环境类中。编程时我们可以通过调用CDC类的成员函数来完成绘图操作。所谓设备无关性,是指操作系统屏蔽了硬件设备的差异,使用户编程时一般无需考虑设备的类型,如不同种类的显示器或打印机。2.1图形设备接口(GDI)2Window图形绘制基本概念Windows绘图过程和设备无关性的实现:GDI处于设备驱动程序的上一层,当程序调用绘图函数时,GDI将绘图命令传送给当前设备的驱动程序,以调用驱动程序提供的接口函数。驱动程序的接口函数将Windows绘图命令转化为设备能够执行的输出命令,实现图形的绘制。不同设备具有不同的驱动
此文档下载收益归作者所有