欢迎来到天天文库
浏览记录
ID:50294369
大小:66.40 KB
页数:12页
时间:2020-03-07
《windows程序设计实验指导书.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验四、WindowsGDI编程实验目的:1、了解windowsGDI设备环境的获取与设置。2、了解windowsGDI绘图对象CPen,CBrush,CFont等的相关基本操作。3、掌握建立简单图形交互的图形数据管理和鼠标工具设计等。实验要求:建立一个windowsSDI(单文档)应用程序,并编辑建立图形属性设置的无模式对话框、简单图形工具条等。实现直线、矩形、椭圆、多边形的交互绘制及文字显示,并能进行图形属性设置。实验可以选择竞赛作业题目,则本次的基本操作实验可以不做,竞赛作业可在课程后期交上,计算成绩有加分因素。竞赛作业:分析微软Office系列软件的绘图工
2、具箱组件的图形编辑功能和操作特点,抽象出其数据组织的结构体系,并分析其需要的鼠标工具类型,设计出相应合理的数据结构和鼠标工具,模拟实现简单几何图形的绘制工具(能交互设置图形属性、有图形成组操作功能,可以实现图形的简单几何变换为佳)。实验指导:一、在VC++6.0环境中建立一个单文档工程。1、通过资源编辑器编辑如下所示对话框资源和工具条资源。注意生成对话框类后,为几个组合框添加字符串变量,为Spin控件添加控制变量,并为几个组合对话框添加初始数据:映射模式:MM_ANISOTROPICMM_HIENGLISHMM_HIMETRICMM_ISOTROPICMM_LOE
3、NGLISHMM_LOMETRICMM_TEXTMM_TWIPS画笔风格:PS_SOLIDPS_DASHPS_DOTPS_DASHDOTPS_DASHDOTDOTPS_NULLPS_INSIDEFRAME画刷风格:BS_HATCHEDBS_SOLID线刷风格:HS_BDIAGONALHS_CROSSHS_DIAGCROSSHS_FDIAGONALHS_HORIZONTALHS_VERTICAL为生成的对话框类添加构造函数和变量:.h文件CGraphPropertyDlg(CView*pView);GDI_ExeView*m_pView;.cpp文件CGraphPr
4、opertyDlg::CGraphPropertyDlg(CView*pView){m_pView=(GDI_ExeView*)pView;}1、在View类中添加数据成员:public://无模式对话框CGraphPropertyDlg*pDlg;intm_nMapMode;//映射模式LOGBRUSHm_lBrush;//用来交互设置CDC画刷属性的逻辑画刷LOGPENm_lPen;//用来交互设置CDC画笔属性的逻辑画笔COLORREFm_cFont;//用来交互设置CDC字体颜色LOGFONTm_lFont;//用来交互设置CDC字体属性的逻辑字体priv
5、ate://将字符串变量与整形变量之间建立映射关系,用于对话框的数据交互CMapm_mapMode;CMapm_mapPen;CMapm_mapBrush;CMapm_mapHBrush;View类中数据成员的初始化:CGDI_ExeView::CGDI_ExeView(){//TODO:addconstructioncodehere//初始化映射模式的值-字符串映射
6、表m_mapMode.SetAt(MM_ANISOTROPIC,"MM_ANISOTROPIC");m_mapMode.SetAt(MM_HIENGLISH,"MM_HIENGLISH");m_mapMode.SetAt(MM_HIMETRIC,"MM_HIMETRIC");m_mapMode.SetAt(MM_ISOTROPIC,"MM_ISOTROPIC");m_mapMode.SetAt(MM_LOENGLISH,"MM_LOENGLISH");m_mapMode.SetAt(MM_LOMETRIC,"MM_LOMETRIC");m_mapMode.SetA
7、t(MM_TEXT,"MM_TEXT");m_mapMode.SetAt(MM_TWIPS,"MM_TWIPS");//初始化画笔样式的值-字符串映射表m_mapPen.SetAt(PS_SOLID,"PS_SOLID");m_mapPen.SetAt(PS_DASH,"PS_DASH");m_mapPen.SetAt(PS_DOT,"PS_DOT");m_mapPen.SetAt(PS_DASHDOT,"PS_DASHDOT");m_mapPen.SetAt(PS_DASHDOTDOT,"PS_DASHDOTDOT");m_mapPen.SetAt(PS_NUL
8、L,"PS
此文档下载收益归作者所有