- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
讲基于文档视图的应用程序设计
第四讲 基于文档视图的应用程序设计 内容提要 VC的集成开发环境简介 消息映射的基本原理 菜单,工具栏,快捷键及其消息映射 使用应用程序向导 生成基于文档视图的应用程序 生成基于对话框的应用程序 Developer Studio操作界面(开发) 标题栏 菜单栏 工具栏 状态栏 项目工作区: ClassView ResourceView FileView 编辑区 输出框 创建项目工作区时,将创建: 一个项目工作区目录 一个项目工作区文件(.dsw) 一个项目文件(.dsp) 一个工作区选项文件(.opt) 要打开一个项目, 只需要打开对应的 项目工作区文件.dsw 项目工作区窗口 ClassView: 显示项目中定义的C++类 Resource View: 显示项目中包含的资源 File View: 显示包含在项目工作区中的文件 ClassView 类 成员变量 成员函数 访问类型 public private protected RecourceView Accelerator Dialog Icon Menu String Table ToolBar Version FileView 查看文件 增加文件 删除文件 打开应用程序 单击File | Open Work Space菜单项,单击“查找范围”下拉列表框,找到所要打开的项目的路径,再单击“文件类型”下拉列表框,设定文件类型为WorksSpaces(.dsw;.mdp),最后,双击项目工作区文件.dsw,即可打开相应的应用程序。 关闭应用程序 要关闭应用程序,必须将整个项目的所有文件关闭。 选择File | Close Work Space,将应用程序的工作区全部关闭。 举例:在视图区输出“七彩前湖,美丽的家园!” void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); pDC-TextOut(0,0, 七彩前湖,美丽的家园!); } OnDraw(CDC *pDC)函数 是实现视图输出的重要函数。 当程序窗口创建、移动、改变大小等情况时,窗口都需要重绘,系统会自动调用视图类的OnDraw ( )函数。 进阶 设置文本的字体颜色和给文本添加背景色。 举例:在视图区画圆 void CCircle_moveView::OnDraw(CDC* pDC) { CCircle_moveDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here pDC-Ellipse(0,0,50,50); //画圆 } Ellipse( )函数 Ellipse( x1,y1,x2,y2),画椭圆函数,其参数是左上角和右下角的坐标。 如果x2-x1=y2-y1,则所绘制的图形为圆。 消息映射的基本原理 鼠标消息及其处理 键盘消息及其处理 鼠标消息及其处理 举例:在视图区点击鼠标左键, 输出鼠标点击处位置的坐标。 设计步骤: 1、为视图类添加一个CPoint类型的成员变量m_pt1 2、在构造函数中对m_pt1进行初始化 3、为单击鼠标左键消息添加消息处理函数 4、在OnDraw函数中添加相应的代码 COutput_mouseView::COutput_mouseView() { m_pt1.x=m_pt1.y=0; } void COutput_mouseView::OnLButtonDown(UINT nFlags, CPoint point) { m_pt1=point; Invalidate(); CView::OnLButtonDown(nFlags, point); } Invalidate()函数 该函数的作用是使原来的客户区失效 ,此时客户区需要重绘, 会再次调用OnDraw() 简单地说就是刷新视图。 举例(鼠标跟随) 在视图区移动鼠标,文字跟踪鼠标的位置移动并显示鼠标所在位置的坐标(鼠标跑到了,文字跟到哪里)。 1、为视图类添加一个CPoint类型的成员变量m_pt1 2、在构造函数中对m_pt1进行初始化 3、为单击鼠标移动消息添加消息处理函数 4、在OnDraw()函数中添加相应的代码 CMouse_withView::CMouse_withView() { // TODO: add construction code here m_pt1.x=m_pt1.y=0; } 举例:画直线程序 内容: 按
您可能关注的文档
- 计算机组成原理().ppt
- 计算机组成原理(指令系统).ppt
- 计算机组成原理2指令系统.ppt
- 计算机组成原理REVIEW.ppt
- 计算机组成原理(版)3.ppt
- 计算机系统版.ppt
- 计算机组成原理七指令系统.ppt
- 计算机组成技术一pp.ppt
- 计算机组成技术四.ppt
- 计算机系统结构(讲).ppt
- 白天晚上教学课件.ppt
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题带答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解一套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及完整答案详解1套.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及参考答案详解1套.docx
- 2025年山东菏泽市事业单位招聘急需紧缺岗位目录(第一批)笔试模拟试题参考答案详解.docx
- 2025年山东菏泽市牡丹区中医医院引进急需紧缺专业技术人才30人笔试模拟试题及答案详解1套.docx
- 画西瓜教学课件.ppt
文档评论(0)