MFC简单绘图.ppt
文本预览下载声明
本章内容 2.1 MFC上机操作步骤 2.2 基本绘图函数 2.3 本章小结 2.4 习题 2.2 MFC上机操作步骤 关于工具Visual C++ 6.0 是目前使用极为广泛的可视化编程平台。 使用VC++语言开发的图形,与使用Turbo C语言开发的图形相比,不仅可以显示真彩色,而且可以实现交互式绘图。 Microsoft Foundation Class Library 微软基类库MFC是以C++形式封装的Windows API(Application Program Interface), 包含了一百多个已经定义好的常用类。 MFC的上机操作过程 启动Microsoft Visual C++ 6.0 从【File】菜单中选择【New】命令,弹出【New】对话框,切换到【Projects】选项卡。 在左边窗口中选择MFC AppWizard(exe),在右边的Projects name文本框中键入应用程序名,这里输入Test,在Location文本框中出现用于存放应用程序的根目录,这里设置为D:\Test。其余保持默认值。如图所示。单击【OK】按钮。 在对话框【MFC AppWizard-Step1】中,选中Single Document单选按钮,其余保持默认值,如图所示。单击【Finish】按钮结束。 完成上述步骤后,应用程序Test的框架即被生成,出现程序工作区。如图所示。 在工作区的【ClassView】面板中显示所创建的类和成员函数 在【Resource View】面板中显示所创建的资源 在【FileView】面板中显示源程序文件,主要包括程序源文件(*.CPP) 、头文件(*.h) 和资源文件(*.ico、*.bmp等) 从【ClassView】面板可以看出 CTestApp是应用的主函数类,用来处理消息。 MFC中的数据是存储在CTestDoc类文档中 结果的显示是在CTestView类中 文档类负责管理和维护数据本身 视图类负责处理用户鼠标和键盘的操作 全部展开FileView面板后,显示如图的界面内容 本书后续的编程过程中一般使用的是CTestView类的TestView.h头文件和TestView.cpp源文件。 OnDraw(CDC* pDC)函数 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); } pDC定义为CDC类的指针。 pDoc通过GetDocument()函数得到了指向文档类CTestDoc的指针。 OnDraw(CDC* pDC)函数 void CTestView::OnDraw(CDC* pDC) { CTestDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); } ASSERT_VALID(pDoc)函数使pDoc指针有效。使用pDC指针,可以对CDC类的成员函数进行操作。 注意:OnDraw函数是由系统框架直接调用的,程序一运行就会自动执行。 !按钮 点击工具条上的 “!”按钮,就可以直接编译、运行程序 尽管未编写一句代码,但Test程序已经形成一个可执行程序框架 2.2 基本绘图函数 在Windows平台上,应用程序的图形设备接口(Graphics Device Interface,GDI)被抽象化为设备上下文(Device Content,DC) 在微软基类库MFC中,CDC类是定义设备上下文对象的基类,所有绘图函数都在CDC基类中定义。 2.2节内容 2.2.1 CDC类结构和GDI对象 2.2.2 映射模式 2.2.3 CDC类的主要绘图成员函数 2.2.4 设备上下文的调用和释放 2.2.5 VC++绘制图形的几种方法 2.2.1 CDC类结构和GDI对象 1. CDC类 CDC类有4个派生类 CClientDC类 显示器客户区设备上下文类 CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单栏以及状态栏的空白区域)进行绘图 点(0,0)是客户区的左上角 其构造函数调用GetDC函数 其析构函数调用ReleaseDC函数 CMetaFileDC类 Windows图元文件设备上下文类 CMetaFileDC封装了在一个Windows图元文件中绘图的方法 图元文件是一系列与设备无关的图片的集合,由于它对图像的保存比像素更精确,因而往往在要求较高的场合下使用 例如,AutoCAD中的图像保存等。 CPaintDC类 是成员函数OnPaint中使用的显示器上下文类 CPaintDC只在处理WM_PAINT消息中使用,用户一旦获得相关的CDC指针,就可以将它当做任何设备环境(
显示全部