,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,附录中文译文编程模式无论使用哪种开发工具,在环境下编成都不同于旧式的面向批处理或者面向事务处理的编程。
在开始前,需要了解些基本知识。
作为参考。
我们将使用众所周知的程序,也可能熟悉它。
消息处理当用语言编写基于的应用程序时,唯绝对需要的是个名为的函数。
当用户运行程序时,操作系统调用,并且,从这里开始,可以使用任何需要的编程结构。
如果程序需要获得用户键击或者使用操作系统服务,他便调用适当的函数,例如,或者可能使用个基于字符的窗口库。
当操作系统启动个程序时,他调用程序的函数。
在些地方,应用程序必须有,它执行些特定的任务。
它最重要的任务是创建应用程序的主窗口,它必须有自己的代码来处理发送给它的信息。
在程序和程序之间,个基本区别是程序调用操作系统来获取用户输入,但是,程序通过来自操作的信息来处理用户输入。
注意许多的开发环境,包括带有库版本的,通过隐藏函数和结构化消息处理过程来简化编成。
当使用库时,就不必编写函数,但是理解操作和程序之间的联系是至关重要的。
中的大部分消息是严格定义的,而且适用于所有的程序。
例如,当创建个窗口时,就会发送个消息当用户按下鼠标左键时,会发送消息还有,当关闭窗口时,将发送个消息。
所有消息具有两个位参数,他们传送诸如光标坐标键代码这样的信息。
对适当的窗口发送消息,以响应用户菜单选择对话按钮的单击等等。
命令消息参数随着窗口菜单的布局而有所不同。
用户可以定义自己的消息,这些消息的确使看起来有点像。
但是,不要担心这些消息怎样与代码相关。
这是应用程序框架的工作。
应当清楚的是,消息处理要求在程序上强加了许多结构。
研究本书的例程,然后准备开始。
图形设备接口许多程序直接写显存和打印机接口。
这种技术的不利之处是对每种视频板和每种打印机型号,需要其支持的驱动程序软件。
引入了个名为图形设备接口的抽象化外层。
提供视频和打印驱动程序,所以,用户不必知道有关系统的视频卡和打印机的类型。
程序不是寻址硬件,而是调用函数,这些函数引用名为设备上下文的数据结构。
把设备上下文结构映射到物理设备,并且发出适当的输入输出指令。
图形设备接口几乎与直接视频访问样快,并且它允许不同的应用程序来共享显示。
基于资源的编成要在环境下进行数据驱动编程,必须或者尾巴数据编码成为初始化常量或者提供独立的数据文件让程序来读。
进行编程时,使用大量已经确立的格式在资源文件中存储数据。
链接程序把二进制资源文件连接到编译器的数出来产生个可执行文件。
资源文件可以包括位图图标菜单定义对话框外观和字符串。
他们甚至可以包括自定义的定制资源格式。
使用个文本编译器来编译个程序,但是般使用外语所见即所得工具来编译资源。
例如,如果正在布置个对话框,从控制面板的图标序列来选定元素按钮列表框等,并且用图标来确定元素的位置和大小。
有全部标准资源格式的图形资源编辑器。
内存管理使用的每个新的版本,内存管理变得更加容易。
如果所说过关于锁定内存句柄形实转换程序和伯格氏管理器的恐怖故事,不要担心。
这全部是过去的事情了。
今天简单地分配所需要的内存,而处理细节问题。
第章描述了内存管理技术,包括虚拟内存和内存映射。
动态链接库在环境下,个程序的所有对象模块在建立过程中是静态链接的。
允许动态链接,这意味着特别创建的库可以在运行时加载和链接。
多个应用程序可以共享动态链接库,它节省内存和磁盘空间。
动态链接增加了程序的模块性,因为可以单独编译和测试动态链接库。
设计者最初使用语言创建动态链接库,并且增加了些复杂性。
开发者成功地把所有应用程序框架类与少量已经建立好的动态链接库结合。
这意味着可以静态或者动态把应用程序框架类连接到应用程序。
另外,可以通过在动态链接库基础上建立,创建自己的扩充动态链接库。
第章包括有关创建扩充动态链接库和常规动态链接库。
应用程序编程接口早期程序员使用语言编写应用程序编程接口的应用程序。
今天,如果需要编写位应用程序,必须直接地或间接地使用新的应用程序编程接口。
大多数函数都有对应的函数,但是许多参数都不样了。
比如说,位参数通常被位参数所取代。
应用程序编程接口提供了许多新的函数,包括磁盘输入输出函数,它们以前是由调用处理的。
使用的位版本,程序员很大程度上不接触这些应用程序编程接口的区别,因为它们按照标准编写程序,这个标准是在或者环境下面设计的。
位图如果没有图形图像。
基于的应用程序就会变得十分单调。
些应用程序依靠图像来实现他们的用途,但是任何应用程序都可以用来各种来源的装饰剪辑艺术而打扮起来。
位图是映射到显示像素的位数组。
这听起来可能很简单,但是在可以使用为图为创建专业的应用程序之前,必须学习许多关于位图的知识。
本章以位图编程的老方法做为开始,创建使用于内存设备相关的依靠设备的位图。
你需要了解这些技术,原因是许多程序员仍然在使用它们。
下步将涉及到为位图编成的现代方法创建与设备无关的位图。
如果使用,那么就会更加轻松自如地处理颜色和打印机。
在些情况中,将获得更好的性能,函数提供了与位图的所有特征结合起来的为图所带来的好处。
最后,将学会如何使用类在按钮上放置位图使用在按钮上放置位图与无关,但是它是项十分有用的技术,不使用例子掌握它是很困难的。
位图和设备无关的位图有两种类型的位图位图和。
位图对象是由版本的类所代表的。
位图对象有个与之关联的数据结构,它在模块内进行维护,它是依赖于设备的。
程序可以获得位图数据的副本,但是为排列则取决于显示硬件。
位图可以自由地在单计算机上的程序之间进行传输,但是由于它们是依赖于设备的,所以通过磁盘或调制解调器来传输位图是没有意义的。
注意在种,允许你在剪贴板上放置位图句柄,以便把它传输给另个进程,但在幕后,将依赖于设备的位图转换为,并将这个复制到共享的内存,这就是开始就考虑使用的个很好理由。
与位图相比,提供了许多编程方面的优点。
因为携带有自己色颜色信息,所以调色板管理起来更加容易些。
还使得在打印时更加易于控制阴影。
运行的任何计算机都可以处理,它通常是存储在磁盘文件之中,或者作为资源存储在程序的和文件中。
监视器上的墙纸背景是在你启动的时候从文件中读取的。
画笔的主要存储格式是文件,使用文件用于工具栏按钮和其他图像。
另外还可以提供其他图形交换格式,例如和,但是只有格式是直接由支持的。
彩色位图和单色位图现在可能是重新阅读第章中颜色映射节的好时候了。
正如你将在本章中所看到的那样,处理彩色位图的方式与处理画刷颜色略有不同。
许多彩色位图是位色的。
个标准的板具有四个连续的彩色平面。
来自每个平面的个对应位,组合起来代表个像素。
当创建位图的时候,设置位颜色值。
对于标准的板,位图颜色被限制在标准的色。
不在位图中使用抖动的颜色。
单色位图只有个平面。
每个像素用个单位来代表,该位或者是或者是。
函数可以设置显示颜色,可以设置颜色。
你可以用宏来指定这些纯色。
使用位图位图中只是另个对象,例如钢笔或字体。
你必须先创建个位图,然后选中它进入设备上下文。
当你完成对该对象的操作之后,必须解除对它的选中并删除它。
尽管如此,仍有些问题,原因是显示或打印机设备的位图是有效的显示表面或打印的页面本身。
因此,你不能选中个位图显示设备上下文或打印机设备上下文。
然后,你必须使用成员函数或来从内存设备上下文中向真正设备上下文中复制位。
这些位复制函数般在查看类的函数中调用。
当然,你千万不能忘记在完成之后清除内存设备上下文。
显示映射模式的效果如果在例子中的显示映射模式,那么每个位图像素映射为个显示像素,并且位图匹配的很好。
如果映射模式是,那么位图大小将是英寸,或像素对于,为了使位图合适,必须作些位处理。
结果导致了位图看上去没有采用映射模式是好。
用的参数值调用降使得不太好看的位图变得更好看些。


























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
