电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > PPT文档下载
分享到微信 分享到微博 分享到QQ空间

面向对象编程技术2

  • 资源ID:56905022       资源大小:1.24MB        全文页数:165页
  • 资源格式: PPT        下载积分:6金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要6金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

面向对象编程技术2

1,第一章 Visual C+集成开发环境简介,2,项目的创建与编译、链接过程,3,Visual C+ IDE功能组成,编辑: AutoComplete、IntelliSense 编译: 预编译头文件(stdafx.h),可以加快编译速度 链接: 增量式链接、ProjectSettingsLinkLink Incrementally 调试:Edit & Continue,4,Visual C+功能组成,AppWizard:应用程序导航(框架)。 ClassWizard:类导航,5,Visual C+功能组成:ResourceEditor,Wysiwyg Dialog Menu ToolBar Icon Bitmap Accelerator String table VersionInfo,6,Visual C+功能组成,SourceBrowser:可以方便的观察各种信息。 Online Help(MSDN需要安装) 调试工具 Trace、WinDiff、Spy+、ActiveX测试容器,7,开发Windows应用程序的几种选择,使用win32 API的C语言程序,也称为SDK编程; 使用win32 API编写自己的类库,实质上也是一种SDK编程; 使用MFC应用程序框架,MFC是微软提供的一种类库,也是基于SDK编写; 使用其他的应用程序框架(OWL),8,第二章 SDK风格的Windows程序设计,Windows编程主要需要了解如下要点: (1)消息机制 (2)Windows图形设备接口 (3)基于资源的编程 (4)基于动态链接库 (5)Win32应用程序编程接口,9,Dos下 的消息处理,DOS操作系统,main(),调用库函数或 调用自定义函数,程序需要获得用户击键或使用操作系统功能时,调用适当的函数即可。,10,Windows操作系统,调用WinMain()函数 其主要功能是: 注册窗口类 创建主窗口 显示主窗口 进入消息循环,windows下的消息处理,调用WndProc()消息函数 其主要功能是: 处理各种消息,消息到来,处理完成,程序启动,空闲,11,一个不用MFC框架的Windows程序,必须有一个WinMain()函数,格式如下: int WINAPI WinMain(HINSTANCE CurInstance,HINSTANCE PreInstance,LPSTR CmdLine,int ShowStyle) 必须有一个消息处理函数,格式如下: Long FAR PASCAL WndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam),12,WinMain的流程,Windows操作系统启动程序,执行进入WinMain()函数 注册窗口类(通常一次) 创建主窗口 显示主窗口 进入消息循环 遇到WM_CLOSE消息退出,13,WinMain的四个参数,CurInstance:当前实例的句柄 PreInstance:同一程序的前一个实例(一次运行) CmdLine:命令行参数,是一个以0结尾的ANSI字符串,不含应用程序名 ShowStyle:显示窗口的方式,有如下几种: SW_SHOWNORMAL,SW_SHOWMINIMIZED,SW_SHOWMAXIMIZED,14,WndProc中不可缺少的default分支,通过调用DefWindowProc,来处理所有未被处理的消息,调用形式如下: return DefWindowProc(hWnd,msgID,wParam,lParam);,15,显示一个字符串,绘制设备上下文 BeginPaint() EndPaint(),16,添加资源,菜单 对话框,17,SDK程序向MFC程序转变,第一步:WinMain改造为CWinApp 第二步:窗口函数改造为消息映射,18,Win32 API应用程序的修改,InitApplication InitInstance 消息映射结构体,19,为什么使用MFC,是微软提供的Windows编程接口 使应用程序的结构标准化 使应用程序小而且快(DLL) Visual C+降低编码复杂程度 MFC库具有丰富的特性,20,第三章 用AppWizard创建的第一个MFC程序,目的:如何编制一个具有一定功能的MFC类库应用程序(引入简单的视图/文档概念) 什么是视图 用户角度:与其他Windows窗口一样的窗口 程序员:从MFC的Cview类派生的类的一个对象 单文档界面和多文档界面 单文档:一次只能打开一个文档(NotePad) 多文档:一次能打开多个文档(Word),21,应用程序的主要元素 WinMain函数 CMyApp类-theApp CMyApp:InitInstance(); CMyApp:Run() ;/CMyApp:OnIdle() CMyFrame类 CMyFrame:OnLButtonDown、CMyFrame:OnPaint()、CMyFrame:OnDraw() 关闭主画面窗口后关闭应用程序。,22,MFC库消息映射,MFC库对Windows消息映射不采用虚拟函数,而通过宏把特定的消息映射到派生类成员函数。主要是为避免大量的vtable开支。 菜单命令消息和按扭消息的处理与Windows消息一样。 一个MFC消息处理程序需要一个函数原型、一个函数体和一个在消息映射中的项。,23,MFC库消息映射,afx_msg void OnLButtonDown(UINT nFlags,Cpoint point) CMyFrame:OnLButtonDown(UINT nFlags,CPoint point) BEGIN_MESSAGE_MAP(CMyFrame,CFrameWnd) ON_WM_LBUTTONDOWN() END_MESSAGE_MAP(),24,文档和视图,文档-代表数据模型,基类是CDocument 视图-代表用户接口,基类是Cview,25,第一个MFC程序,什么是视图 用户角度:与其他Windows窗口一样的窗口 程序员:从MFC的Cview类派生类的一个对象 单文档界面和多文档界面 单文档:一次只能打开一个文档(NotePad) 多文档:一次能打开多个文档(Word) 在窗口中绘图 通过响应OnDraw()函数来完成绘图 设备上下文 图形设备对象,26,资源编辑器 ex03a.rc包含 afxres.h(只读符号) afxres.rc(通用组件) resource.h(自定义符号) Debug与Release目标 启用诊断宏(C:WINNTafx.ini TraceEnabled=1) Tools/MFC Tracer/enable tracing 予编译头文件(stdafx.cpp stdafx.h),27,在视图窗口中绘图,通过修改OnDraw()函数来完成绘图 是CView类的虚拟成员函数,每次视图重画时调用(WM_PAINTOnPaintOnDraw) 如果程序的数据被改变,则可以调用视图的Invalidate()成员函数,并最终调用OnDraw() InvalidateWM_PAINTOnDraw() 对视图窗口的重画不要过于频繁 画图过程中涉及的MFC类 设备上下文 其他图形设备对象,28,设备上下文,Windows系统不允许直接操作显示硬件,而是通过一个抽象层设备上下文来进行通讯 MFC编程中,设备上下文是CDC及其派生类的对象 添入代码:,29,资源,资源编辑器 ex03a.rc包含 加速器、对话框、图标、菜单、字符串、工具条、版本信息 afxres.h(只读符号),通用的MFC库资源 afxres.rc(通用组件),通用的MFC库资源 resource.h(自定义符号),30,Debug与Release目标,分两个版本:发行版和调试版 区别:源码调试、诊断宏、链接库、编译优化等方面不同 启用诊断宏(C:WINNTafx.ini TraceEnabled=1) Tools/MFC Tracer/enable tracing 予编译头文件(stdafx.cpp stdafx.h) /Yc(stdafx.cpp)、/Yu(复用)、/Fp(pch文件路径)编译开关,31,第四章 基本事件处理、映射模式,MFC类库中有很多On-函数由框架调用,完成对事件的响应。 他们不是虚拟函数,必须通过消息映射结构,使应用框架和我们的代码关联 消息映射 当用户在视图中按下鼠标,Windows发送WM_LBUTTONDOWN消息给视图窗口,视图窗口必须有一个OnLButtonDown(UINT nFlags,CPoint point)成员函数来响应该消息,头文件中加入消息处理函数原型afx_msg void OnLButtonDown(UINT nFlags,CPoint point),通过消息映射宏将框架和函数关联,将消息和消息的响应函数连接的过程称为消息映射。,32,消息映射的步骤:,定义函数:void CMyView:OnLButtonDown(UINT nFlags,CPoint point) 函数原型:afx_msg void OnLButtonDown(UINT nFlags,CPoint point) 消息映射宏 BEGIN_MESSAGE_MAP() ON_WM_LBUTTONDOWN END_MESSAGE_MAP() 头文件中添加: DECLARE_MESSAGE_MAP(),33,保存视图的状态,通过一些状态的变化反映事件,在引入文档类之前,存放在视图的数据成员中 CRect m_rectEllipse;UINT m_nColor 数据成员初始化:放在视图的构造函数中 CEx04aView:CEx04aView():m_rectEllipse(0,0,200,200),m_nColor(GRAY_BRUSH),34,如何反映事件,鼠标点击不会引起重画,需要调用: CWnd:InvalidateRect(LPRECT rect); 视图的客户区: CRect,CSize,Cpoint及其相互运算 如何判断点在矩形内部 CRect rect; if(rect.PtInRect(point). 如何判断点在区域内部 CRgn rgn; rgn.CreateEllipticRgnIndirect(m_rectEllipse); if(rgn.PtInRegion(point). 实例,35,映射方式,为使显示与显示分辨率无关,应使用不同于以像素为单位的坐标系统 设备坐标-以像素表示的坐标值。 逻辑坐标-当前映射方式下的坐标值。 映射方式-逻辑坐标和设备坐标之间的比例关系。 Windows映射方式,映射方式 逻辑单位 MM_LOENGLISH 0.01 inch MM_HIENGLISH 0.001 inch MM_LOMETRIC 0.1 mm MM_HIMETRIC 0.01 mm MM_TWIPS 1/1440 inch MM_TEXT 1pixel,36,MM_TEXT映射方式,逻辑坐标和设备坐标1:1 坐标X向右增加,坐标Y向下增加 通过调用CDC的SetWindowOrg,SetViewportOrg改变原点CMyView:OnDraw(CDC* pDC)pDC->SetMapMode(MM_TEXT);pDC->SetWindowOrg(CPoint(100,100);/将逻辑坐标(100,100)设置为窗口原点 ,37,自定义映射方式一: 固定缩放的映射方式,向右X增加,向下Y减少,38,自定义映射方式二: 缩放可变的映射方式,可以改变缩放因子和原点 MM_ISOTROPIC和MM_ANISOTROPIC MM_ISOTROPIC纵横比始终是1;1 MM_ANISOTROPIC可以分别改变X和Y缩放因子,

注意事项

本文(面向对象编程技术2)为本站会员(zw****58)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.