wince软件开发基础old课件

上传人:我*** 文档编号:143667825 上传时间:2020-09-01 格式:PPT 页数:83 大小:1.52MB
返回 下载 相关 举报
wince软件开发基础old课件_第1页
第1页 / 共83页
wince软件开发基础old课件_第2页
第2页 / 共83页
wince软件开发基础old课件_第3页
第3页 / 共83页
wince软件开发基础old课件_第4页
第4页 / 共83页
wince软件开发基础old课件_第5页
第5页 / 共83页
点击查看更多>>
资源描述

《wince软件开发基础old课件》由会员分享,可在线阅读,更多相关《wince软件开发基础old课件(83页珍藏版)》请在金锄头文库上搜索。

1、0,T01. WinCE的开发软件基础,Windows CE 选修课,2008-10-05,1,推荐的资源,2,推荐的资源,3,推荐的资源,4,教科书,5,教科书,6,推荐的参考书,7,推荐的参考书,8,本书分为三个大部分,从嵌入式系统开发的基础开始,先让读者对嵌入式开发有一个大局观。接着通过一些应用开发让读者学习开发的基本认识,最后通过一些具有实践意义的例子来强化开发能力。本书适合对嵌入式系统开发感兴趣的初中级读者阅读,也可供相关工程技术人员作为参考用书使用。 采用最新的Windows Embedded CE6.0写作。全书通俗易懂,立足于Windows CE嵌入式移动领域软件开发,站在入门

2、和转型者的角度,从嵌入式系统基础开始,逐渐深入Windows CE开发的一些理论,并结合相应的实践,达到“喻理于境”的效果。内容丰富,涉及嵌入式操作系统,Windows CE体系结构,进程与线程,存储系统,开发环境与参考文档,应用编程接口,映像创建过程,Platform Builder for CE 6.0,定制Windows Embedded CE,应用程序的开发、诊断、调试与发布,BSP开发,数据库开发,SQL Server Compact Mobile,网络与通信,国际化与本地化,C编程基础等相关知识。,9,工程应用实践,带有身份证号码验证系统和日历转换系统两个项目案例,帮助读者全面总结

3、所学知识,快速积累项目实战经验。网络互动,在线辅导。本书在希赛网和学赛网上为读者提供与作者的互动活动、在线答疑、源代码下载等服务。超值服务。购买此书即可获得1000希赛积分,可用于在希赛网和学赛网接受全方位的学习辅导,还将得到超值学习资源。,10,推荐的参考书,11,推荐的参考书,12,推荐的参考书,13,推荐的参考书,14,消息,15,WinCE的EVB WinCE的EVC WinCE的API WinCE的MFC WinCE的ATL,16,1.窗口管理,Windows CE支持大量的窗口样式,包括层叠窗口, 但Windows CE不支持窗口的最大最小化按钮不支持隐藏任务栏不支持MDI(多文档

4、界面)不支持DDE. (DDE = Dynamic Data Exchange,是 16 位 Windows 时代实现不同应用程序之间互相交换数据和控制的技术,现在用得很少了,Windows Shell 外壳打开某些文件类型还用到 DDE.),17,窗口是做什么?,应用程序需要窗口.以便Windows CE接收信息,同时窗口也是应用程序接收用户输入信息和显示信息的区域.处理Windows CE的消息传送用的是两个最基本的函数: SendMessage和PostMessage. SendMessage采用同步消息传送机制.而 PostMessage.采用异步消息传送机制.消息对列和线程是一一对应

5、的关系.而每一个都和一个特定线程相关的消息对列联系在一起.窗口是消息传送的目的地.消息对列线程窗口窗口处理函数之间的关系是:窗口拥有自己的线程自己的消息对列和响应的窗口处理函数,18,是Win32程序设计中的Windows消息机制,消息就是一个用户对电脑的请求。我想放CD(音乐),我只能选择按鼠标或者敲键盘,于是消息便从这里产生了。 消息结果导致了某些特定电信号,电信号再到达计算机电路系统,系统再将信号反应到操作系统,操作系统再将信号变成消息形式发到线程,到线程的消息再进入消息队列排队,最终到达消息处理函数,此时电脑就明白你的请求是什么意思了,再通过消息处理函数进行工作. 消息是发到电脑,还不

6、如说是发到了线程 .,19,Windows消息机制,线程如何接收到消息的呢?,还得从GUI入口函数说起。一个GUI用户程序的入口函数将不是main(),而是WinMain(),原形是:intAPIENTRYWinMain(HINSTANCEhInstance,HINSTANCEhPrevInstance,LPSTRlpCmdLine,intnCmdShow)APIENTRY是_stdcall的宏,意思是用Windows标准调用方式,hInstance是本身的实例句柄,lpCmdLine是命令行参数,20,Windows消息机制,仅仅一个WinMain()是不会等待消息的,我可以加入一个Mess

7、ageBox();简单的弹一个窗口出来,然后结束。问题是我们需要先建一个窗口(体)出来,建主窗口的过程比较复杂,详细的情况我们后面要看到。过程大致是,先设置窗体句柄的参数,然后建立窗体,然后注册窗体,最后刷新窗体。ShowWindow(ghWnd,nCmdShow);/显示窗口 UpdateWindow(ghWnd);/更新窗口 完了之后这个窗体就会挂在桌面上,等待用户发消息。,21,Windows消息机制,所以必须让主线程工作起来,同时等待消息的到达。接下来就创建无限的消息循环:代码像这样:MSGmsg;while(GetMessage( /处理消息这里的无限循环,不是说这段代码将一直运行,

8、事实上GetMessage()将使这个线程挂起,只有当消息到来时再被再次激活。,22,2.菜单对话框和控件,菜单对话框和控件是为用户提供的一种选择对象执行命令 执行输入/输出任务的标准方法. Windows CE支持滚动菜单在菜单超出屏幕时自动添加滚动箭头. Windows CE不支持菜单栏.但支持命令栏,在一个控件中结合了菜单栏工具栏命令栏. Windows CE支持的菜单对话框和控件有: 菜单: Windows CE支持滚动菜单级联菜单下拉菜单和弹出菜单.,23,2.菜单对话框和控件(续),命令栏: Windows CE独有,它结合了菜单栏,工具栏. 工具栏: Windows CE工具栏包

9、含按扭的控件. ReBar(双栏): 可以重新定位包含一个或多个带区的容器控件.,24,为什么我们选用eVC ?,MFC是Visual c+编程的核心, 在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API . 这样就使开发人员绕开复杂的API函数的调用.从而快速的进行程序开发.,25,MFC的类,MFC提供数百个类,最重要的、也是编写任何VC+应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石。 1.封装特性: 构成MFC框架的是MFC类库而M

10、FC类库又是C+的一个类库。这些类封装WIN32应用程序编程接口,OLE(Object Link Embed 对象链接嵌入)特性,ODBC和DAO数据访问的功能。,26,继承特性,MFC抽象出了众多类的共同特性,并设计出一些基类作为实现其他类的基础,这些类中最重要的类是CObject类和CCmdTarget类,程序员可以从适当的MFC类中派生出自己的类,实现特定的功能达到编程的目的。,27,虚拟和消息映射,MFC是以C+为基础,当然支持虚函数,但作为一个编程框架必须要解决的是效率问题:如果MFC仅仅通过虚函数来支持动态约束必然会产生大量的虚函数表这样编程框架过于臃肿而且消耗更多的内存。但是MF

11、C建立了消息映射机制这样降低了内存的使用却大大提高了效率,28,消息映射,消息映射是一个将消息和成员函数相互关联的表,当应用程序的框架窗口接收到一个消息时,MFC将搜索该窗口的消息映射,如果存在一个处理消息的处理程序,那么就调用该处理程序. 它通过宏来实现消息到成员函数的映射,而且这些函数不必是虚拟的成员函数,这样不需要为消息映射函数生成一个很大的虚拟函数表(V表),节省内存。,29,与桌面MFC的异同,为了适应嵌入式和Windows CE的要求. Windows CE 中的MFC对桌面的作了一定的改动.增加了一些Windows CE 特有的类,并删除了对其它一些类的支持. Windows C

12、E并不支持桌面所有Windows中的类,例如: Windows CE中的MFC数据库连接中的Data Access Objects(DAO)与Open Database Connectivity(ODBC);也不支持Multiple-Document Interface(MDI)多文档用户界面等等.,30,ATL,什么是ATL 自从1993年Microsoft首次公布了COM技术以后,Windows平台上的开发模式发生了巨大的变化,以COM为基础的一系列软件组件化技术将Windows编程带入了组件化时代。广大的开发人员在为COM带来的软件组件化趋势欢欣鼓舞的同时,对于COM开发技术的难度和烦琐

13、的细节也感到极其的不便。COM编程一度被视为一种高不可攀的技术,令人望而却步。开发人员希望能够有一种方便快捷的COM开发工具,提高开发效率,更好地利用这项技术。,31,ATL(续1),针对这种情况,Microsoft公司在推出COM SDK以后,为简化COM编程,提高开发效率,采取了许多方案,特别是在MFC(Microsoft Foundation Class)中加入了对COM和OLE的支持。但是随着Internet的发展,分布式的组件技术要求COM组件能够在网络上传输,而又尽量节约宝贵的网络带宽资源。采用MFC开发的COM组件由于种种限制不能很好地满足这种需求,因此Microsoft在199

14、5年又推出了一种全新的COM开发工具ATL。,32,ATL (续2),ATL是ActiveX Template Library 的缩写,它是一套C+模板库。使用ATL能够快速地开发出高效、简洁的代码(Effective and Slim code),同时对COM组件的开发提供最大限度的代码自动生成以及可视化支持。为了方便使用,从Microsoft Visual C+ 5.0版本开始,Microsoft把ATL集成到Visual C+开发环境中。1998年9月推出的Visual Studio 6.0 集成了ATL 3.0版本。目前,ATL已经成为Microsoft标准开发工具中的一个重要成员,日

15、益受到C+开发人员的重视。,33,ATL (续3),作为ATL最核心的实现技术的模板是对标准C+语言的扩展,但是在大多数的C+编程环境中,人们很少使用它,这是因为模板的功能虽然很强,但是它内部机制比较复杂,需要比较多的C+知识和经验才能灵活地使用它。在MFC中的CObjectArray等功能类就是由模板来定义的。完全通过模板来定义程序的整体类结构,ATL是迄今为止做得最为成功的。,34,ATL (续3),所谓模板类简单地说是对类的抽象。我们知道C+语言用类定义了构造对象(这里指C+对象而不是COM对象)的方式,对象是类的实例,而模板类定义的是类的构造方式,使用模板类定义实例化的结果产生的是不同

16、的类。因此可以说模板类是“类的类”。,35,.NET Compact Framework,微软给出的.NET Framework概念。 .NET Framework是Microsoft为开发应用程序创建的个富有革命性的新平台。 这句话最有趣的地方是它的含糊不清,但这是有原因的。 1)注意这句话没有说在Windows操作系统上开发应用程序。尽管.NET Framework发布的第一个版本是运行在Windows操作系统上,但是以后将推出运行在其它操作系统上的版本,这些操作系统包括FreeBSD,LinuxMacintosh,甚至个人数字助手类设备。(可移植性),36,.NET Compact Framework,2).NET Framework定义并没有限制应用程序的类型。.NET Framework可以创建Windows应用程序、Web应用程序、Web服务和其他各种类型的应用程序。,37,.NET Compact Framework,什么是 Microsoft .NET Compact Framework? Mi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号