- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四讲 基于文档视图的应用程序设计 内容提要 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; } 举例:画直线程序 内容: 按
您可能关注的文档
最近下载
- 安全设计诊断报告教材.docx VIP
- 世界的气候课件-2025-2026学年八年级地理上学期(人教版2024).pptx VIP
- 江苏省职校技能大赛(植物病虫害防治赛项)参考试题库(含答案).docx VIP
- 中国血管性认知障碍诊治指南(2024版).pptx
- 某高速公路互通立交工程施工组织设计方案.docx VIP
- 西门子CT-SOMATOM go NOW使用说明书.pdf
- (2025秋新版)部编版二年级语文上册《拍手歌》PPT课件.pptx VIP
- 24个专业105个病种中医临床路径.pdf VIP
- 缺陷责任期监理工作流程图.doc VIP
- 2024版溶化焊接与热切割作业培训ppt完整版 .pdf VIP
文档评论(0)