- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
P.209-210 设最多250个泡泡,泡泡半径大小随机确定(10—50) rand()产生随机数函数 总结:文档视图结构程序设计要点 (1) 根据实际问题,分析确定文档数据成员; (2)在文档类头文件中添加数据成员的定义; (3)在文档OnNewdocument()对数据成员初始化; (4)在视图类的OnDraw()函数中,添加绘制文档数据的代码,以不变应万变。 (5)在视图类的鼠标、键盘、定时器等消息处理函数中,添加修改文档数据成员的代码。 习题: 考察文档/视图结构,菜单、鼠标、定时器消息处理、图形文字绘制等 1、设计基于单文档/视图结构的程序。在文档类中声明一个人事结构,包括姓名、年龄、工资三个成员,定义长度为5的结构数组,并初始化;(1)然后在视图类中添加求年龄最高和最低者的菜单和消息处理函数,在客户区输出显示最高、最低者的个人信息。(2)添加鼠标左键消息处理函数,按工资由高到低排序,并在客户区输出排序后的信息。 2、设计基于单文档/视图结构的程序。绘制一条直的道路,然后然后设计一个球体(元代替,有车号),使其沿道路匀速行走,到终点自动返回,来回行走。道路的宽度、长度由设定菜单完成;还有开始、结束菜单;有高速、中速、低速三个菜单控制小车速度。 3、设计基于单文档/视图结构的程序。绘制2条圆形轨道,然后设计2个卫星(圆形代替),使其分别沿内外轨迹匀速行走。轨道路宽度、半径、颜色由轨道设定菜单加对话框指定;有开始、结束菜单;有高速、中速、低速三个菜单控制卫星速度;卫星颜色、标号由按下鼠标左键加对话框指定。 第十一章 文档/视图结构 理解文档/视图结构,即文档类和视图类的关系 掌握在SDI程序框架下添加必要代码,生成自己应用程序。 注意 时间安排2天,自学、自己练习为主。 11.1 文档/视图概念 文档:可看为一个应用程序的数据元素的集合; (1)文档类:CMyDoc,管理和维护数据,如存储、复制、查询等;CDocment 的派生类; 视图:是数据的用户界面,是文档数据内容在窗口的显示; (2)视图类:CMyView,负责数据的输出以及用户与文档中数据的交互,将用户的输入转化为对数据的操作。 11.2 视图类 视图类CView是窗口类CWnd类的派生类,视图类对象完全覆盖框架窗口的用户区,没有自己的边框。视图规定了用户查看文档数据、以及同数据进行交互的方式。 视图类的几个重要成员函数: 1 GetDocument( ) 在CView类的OnDraw( )函数中,利用该函数得到一个指向文档对象的指针,然后通过该指针,即可访问文档对象的Public成员。 如:CMyDoc *pDoc = GetDocument( ) ; pDoc-m_nX=0; 注意!文档类的数据成员,只能声明为公有的,因文档类和视图类关系密切,这样可简化程序设计。 2 OnDraw(CDC * pDC ) (1)应用程序框架调用该函数,完成屏幕显示、绘制、打印等。对于不同的输出,会传递不同的CDC 指针给该函数,以输出到不同的输出设备。在绘图时,通过pDC指针进行GDI(图形设备接口)的调用,绘制之前,还要把GDI对象(画笔、画刷、字体等)选入设备环境。然后,就可绘制由文档对象指针pDoc得到的文档数据。 (2)总之,该函数负责绘制窗口客户区的内容。每当窗口需要被重绘时,应用程序框架都要自动调用该函数。如用户改变了窗口尺寸,窗口恢复被遮盖部分,或应用程序改变了窗口数据时,皆要重绘。 注意!若某个函数修改了某个图形对象的数据,如小车运动,则必须通过调用视图类继承的Invalidate() 或InvalidateRect()成员函数,通知Windows, 从而触发对OnDraw()的调用。 3 OnInitialUpdate( ) 函数 在应用程序启动,或File菜单选择New/Open时被调用,可在其中添加某些与文档显示有关的初始化代码,重载时要确保调用基类的OnInitialUpdate( ) 函数。 11.3 文档类(File/Open/New) 文档类对象规定了应用程序的数据。 文档数据的初始化:当启动应用程序,或File菜单选择New时进行初始化。由应用程序对象的消息处理函数OnFileNew( )调用文档类的OnNewDcoument( )成员函数完成,不是由构造函数,这里特殊。 文档数据的清理:关闭应用程序,或选择File/Open菜单时,要清理文档中的数据。由调用文档类的DeleteContents( )成员函数完成。用于删除文档的数据,使一个文档在使用前为空。要重载该函数,并编写自己的文档清理代码。不是由析构函数完成,这里特殊。Open 对应文档类的OnOpenDocument( )消息处理
您可能关注的文档
最近下载
- 陕西安信显像管循环处理应用有限公司.pdf VIP
- 2025年天津职业技术师范大学单招职业适应性考试必刷测试卷附答案.docx VIP
- 铅锌尾矿综合利用项目可行性研究报告.docx
- 建设工程施工项目每日“防高坠三检”检查记录表.docx VIP
- 《建筑施工高处坠落防治安全技术标准》.pptx VIP
- 天津职业技术师范大学单招物理试题答案2025 .pdf VIP
- 2025数智采购供应链发展报告-亿邦智库&中国物流与采购联合会-2025.pdf
- EPLAN Electric P8软件技能培训课件.ppt VIP
- 食堂消防安全知识培训课件.pptx VIP
- 热电运行部01炉内升降平台及脚手架搭设、拆除施工方案.doc VIP
文档评论(0)