`
lingzantia
  • 浏览: 147487 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论
文章列表
绘图基础综观历史,Windows被细分成三个主要部分:核心层,处理进程和管理内存;用户层,处理窗口接口和控件;图形设备接口(GDI)负责底层绘制。在Windows CE里,用户层和GDI层合成为图形窗口及事件处理器,即GWE。你可能有时会听Windows CE程序员谈起GWE。GWE并不是什么新事务,只是标准Windows部件的不同包装而已。在本书里,我通常将GWE的图形部分依然称为GDI,以保持和标准Windows编程术语的一致性。 不论你是为Windows CE、2000、还是XP编写程序,需要做的不仅仅是处理WM_PAINT消息这么简单。理解什么时候和为什么WM_PAINT消息要被送到窗口 ...
第2章 屏幕绘图概述在第1章,示例程序HelloCE完成一项工作:在屏幕上显示一行文字。显示这行文字只需要调用一次DrawText即可,因为Windows CE代为处理了很多细节,例如字体、字体颜色、文本行在屏幕上的位置等等。借助图形用户接口的力量,应用程序不只能在屏幕上输出本文行,还能做更多的事情。应用程序可以绘制出非常精细的显示外观。 纵观微软Windows操作系统,用于绘制屏幕的函数数量发生了巨大的扩展。Windows每个后续的版本里,都增加了许多函数以扩展程序员可以使用的工具集。虽然新函数增加了,但旧函数依然被保留,这样即使有旧函数被新函数取代,旧程序依然可以继续运行在新版本的Windo ...
HelloCEWindows 编程中典型的SDK风格饱受责难的地方就是在窗口过程中总是使用巨大的switch语句。switch语句分析传给窗口过程的消息,这样每个消息可以被独立的处理。这种标准结果的优势之一是强制把一个类似的结构加到几乎所有Windows应用程序中,这使一个程序员可以更容易理解另一个人的代码。劣势是 整个窗口过程的所有的变量通常会比较杂乱的出现在过程的开头。 这么多年来,我为我的Windows程序探索出一个不同的风格。主要想法是将WinMain和WinProc过程分解成更易理解和更易转换到其它Windows程序中的可管理单元。WinMain被分解成几个过程,包括执行应用程序初始化 ...
Hello3回顾的够多了,是时候做一个完整的Windows 应用程序--Hello3了。虽然Hello3的整个程序文件以及书中全部例子都可以在附书光盘里找到,但我还是建议,对于初期的例子,您应当避免简单的从CD上装载工程文件,而是应该手工输入整个例子。通过这种略微有些枯燥的工作,你会体会到标准Win32程序与Windows CE程序之间在开发过程的不同以及在程序上的细微差别。清单1-3给出了Hello3的全部源代码。 清单1-3:程序Hello3Hello3.cpp//================================================================ ...
Windows应用程序剖析基于Windows的编程远不同于基于MS-DOS或Unix的编程。只要是程序需要,任何时候基于MS-DOS或Unix的程序都可以使用getc-或putc风格的函数从键盘读取字符并写到屏幕上。这是MS-DOS或Unix程序所使用的典型的"Pull" ...
Hello2既然已经有了基础,那么是时候把Hello1升级一下,至少应该让人可以看见它。因为很多Windows CE系统没有控制台驱动程序,Hello2创建一个消息框而不是用printf来显示“Hello CE”文字。Hello2的程序如下表1-2所示:列表1-2: Hello2,使 ...
第一个Windows CE程序说了这么多,就让我们一起看一下你的第一个Windows CE程序吧。列表1-1显示了Hello1--为Windows CE写的一个简单的Hello World应用程序。 Listing 1-1: Hello1, 一个简单的Windows应用程序 Hello1.cpp//======================================= ...
依然是Windows编程虽然Windows CE和Windows的其它版本之间确实存在差异,但不应该夸大这种差异。编写Windows CE应用程序依然是编写Windows应用程序。 有同样的消息循环,同样的窗口,大部分情况下,具有同样的资源和控件。差异并不 ...
Windows CE有什么不同之处Windows CE有许多特性使得它不同于其它Windows 平台。首先,运行Windows CE的系统,大多数可能不使用Intel x86兼容微处理器。实际上,Windows CE运行在4种不同的CPU系列里:SHx, MIPS, ARM, 和 x86。幸运的是,开发环境几乎将各种不同CPU的所有差异与程序员隔离开了。 Windows CE程序事先不能确定屏幕或键盘。Pocket PC设备有一个240*320的纵向屏幕,而其它系统具有传统的480*240,640*240,640*480像素分辨率的横向屏幕。一些嵌入式设备则根本没有显示器。一些目标设备可能不支持 ...
概述 从经典的《The C Programming Language》一书开始,传统上编程方面的书都是从"Hello,world"程序开始的。这是一个合理恰当的开始。每个程序都有一个基本底层结构,分析它可以揭示所有运行在这个操作系统上的应用程序都具有的基础,避一些设计复杂的任务将结构搞的难以理解。 在本书"Hello,world"一章里,包含了关于设置和使用编程环境的细节。用于开发微软Windows CE应用程序的环境与开发标准微软Windows 应用程序的环境有些不同,因为Windows CE程序是在运行XP的PC机器上编写,却主要在独立的基于Windo ...
其它资源虽然我试图将本书做成“一站式”的Windows CE编程书籍,但没有一本书可以覆盖各个方面的。通常,要了解更多Windows编程知识,我推荐经典书籍--Charles Petzold写的Windows编程(微软出版社,1998)一书。这是迄今为止最好的Windows编程书籍。Charles提供了例子,演示如何解决困难而又常见的Windows问题。要更多的了解Win32 核心API,我推荐Jeff Richter的《Windows 核心编程》(Programming Applications for Microsoft Windows (Microsoft Press, 1999))。Je ...
CD里的内容附书光盘包含了书中所有例子的源代码。我提供了MS eVC的工程文件,你可以打开这些预配置的文件。所有的例子都是为Windows CE 4.2、Pocket PC 2003和Smartphone 2003设计的。 除了例子,光盘中还包含免费的eVC。这和你从微软站点下载或者通过光盘购买的版本一样,可以把这些工作看作是赠品。还包括了Pocket PC 2003的平台SDK。 光盘还包括一个StartCD程序,提供图形化界面,让你可以访问CD里的内容。如果你开了Windows自动运行功能,当你把光盘插到光驱中,这个程序就会自动运行。如果不能自动运行,进入CD根目录,运行StartCD.ex ...
目标系统你并不需要Windows CE目标设备来体验书中提供的例子。各种SDK平台都带有Windows CE模拟器,让你可以在Windows XP对Windows CE程序下执行基本测试。在你手边没有实际的设备的时候,可以很方便地使用模拟器。模拟器执行PC模拟器中的Windows CE版本,而PC模拟器会在PC上执行一个实际的Windows CE操作系统。 在决定使用哪种Windows CE硬件来测试的时候,你应该考虑很多因素。首先,如果应用程序式一个商业产品,你至少应该为每种目标CPU购买一个系统。你需要在所有目标CPU上进行测试,因为虽然源代码可能相同,但执行结果可能不同,并且每种目标CPU ...
Windows CE开发工具本书假设读者了解C和熟悉微软Windows,在XP下用微软嵌入式Visual C++开发过本地程序。为了编译书中的例子程序,需要微软嵌入式Visual C++ 4.0,这可以在附书光盘中找到。需要相关的适合Windows CE设备的SDK,用于你的目标设备。 每个例子已经有一个预先定义好的工程设置,但你也可以选择从头创建一个工程。对大多数例子来说,简单创建一个普通WCE应用程序工程就可以了。对于那些要求访问Pocket PC上特殊功能的例子,即使整个工程设置不是特别为Pocket PC应用定义的,也可以用特殊的代码链接这些功能。 对那些想为Pocket PC 2000 ...
关于MFC 对于问是否该用MFC开发Windows CE下应用程序的人,过去,我通常的回答是:不要用。老版的windows CE系统加上比较慢的CPU,运行复杂、全功能的MFC应用会带来很大的压力。但现在,我不再这么绝对了。新版的Windows CE平台足够快,可以用合理的性能运行基于MFC的应用。MFC运行时库包含在这些设备的ROM中,所以应用程序仅仅是代码,而不再是代码加MFC运行时库。 但正像速度和运行库都已经加到平台里去一样,MFC正逐渐没落。微软不再推荐MFC应用开发,取而代之的是.NET开发。所以你应该用MFC开发吗?我的回答是不要再用MFC开发新项目。对于旧项目,仍然有机会用MFC ...
Global site tag (gtag.js) - Google Analytics