备注:本文由DelphiZeus网站翻译整理而来,由于时间精力技术等多重原因,主要是采用意译方式,为了简化理解过程,某些代码被稍作改动,如有错误或不妥之处,请不吝指正。如有转载或传播,请保留完整信息。北京市第二中学网络中心 王甲春(Email & MSN :jiachun@gmail.com )
DelphiZeus
利用 Delphi 基于 Windows API 开发应用程序
脱离 Forms 单元
这里你将会了解到Delphi的计算机程序设计平台,一个基于Pascal语言的开发工具。关键之处在于这里不使用 Delphi的VCL(Visual Component Library)而是使用Windows API( Application Programming Interface)来创建应用程序,这样就可以不使用 Forms.pas 单元,最终产生较小的可执行文件。总是有很多种方法对事物进行编码,这意味着这里所介绍的方法对于某些Delphi程序员是有所帮助的,他们不熟悉利用Windows API函数创建窗体的方法,或者是没有包含在Delphi快速开发工具(RAD)简介里面的消息。
在DelphiZeus,你可以发现一些关于不使用 Forms 和 Controls 单元以及其他控件库来编程的简介、代码和小技巧。。这里将展示给你建立窗体类和窗口的方法,同时使用“消息循环”的方式传递消息给WndProc这个消息处理函数。我使用了Delphi 5来进行示例程序的编写,但是正因为是使用了API,所以其他版本的Delphi同样可以使用类似的代码。
简介
Delphi 是一个优秀的快速应用程序开发(RAD)工具,它可以开发出优异的程序。Delphi 用户会注意到大部分创建窗体的 API 函数对于他们来说都是隐藏的,这些代码被 Forms 和 Controls 单元在幕后进行处理。很多 Delphi 程序员认为他们在 Windows 环境下设计程序,这时候他们实际上是在面向对象的 Delphi 环境下编程,Delphi 为用户封装了 Windows API 函数。如果你需要更多的编程选项,但是对象观察器和控件事件却没有直接提供,这时就有必要使用 Windows API 函数来完成此任务了。当你的编程目标变得比较特殊化时,你可能会发现,仅仅轻松的单击和双击 Delphi VCL ,这将会没有足够的多样性和创造性来满足唯一方式和可视化的显示,这需要你的 API 相关知识来满足编程工具的多样性。
一个 Delphi 5 快速开发的程序大小最少有 250 KB,这主要是由于 Forms 单元造成的,它包含了许多你可能根本不需要的代码。利用 API 编程意味着你需要直接在工程的 .dpr 单元编写代码,对象观察器或者是任何控件都不能直接使用了,它不再是 RAD 方式的,它会大大减慢开发速度,在程序设计阶段再也看不到可视化的窗体。藉由学习 API 编程方式,你将了解操作系统如何工作以及如何使用窗口创建选项,还有如何使用消息机制。这些在使用 VCL 进行 RAD 方式开发时也是非常有用的,它们是进行 VCL 控件开发的精髓。
因为使用 API 而脱离 VCL 编写代码,我们从直接使用 Delphi 的工程文件(就是扩展名为 .dpr 的文件)开启第1节课程。它给出一些使用 API 编程的例子,但是没有图形用户接口,也不显示任何窗口。第2节课则是一些创建窗口的示例,同时还解释了许多创建窗口时的选项,接下来还有一些 Windows 的消息回调的操作和方法的解释。后面的课程涉及到图形操作和在设备接口上使用字体、画笔和画刷,在按钮和文本框控件的课程内,还会涉及到更多创建和使用控件的内容。某些页面还有待完善……
任何意见、建议、代码更正或改进,请 Email 至: splitdfile@yahoo.com
目录
1. -
创建一个 .dpr 程序 演示只使用工程单元 (.dpr) 创建应用程序
1a. -
阅读 Win32 API 帮助内的 C 代码 Win32 API的帮助文档都是 C 语言代码,不是 Pascal 语言的
2. -
利用 API 创建一个窗口和消息回调程序 演示如何创建带有窗口和消息回调的 Windows GUI 程序
3. -
丰富的消息和改变窗口属性 演示如何改变消息参数和窗口的属性
3a. -
SysUtils单元的替代品——SmallUtils单元 不必使用SysUtils单元,它会使你的程序增加 20 Kb 左右,这是替代品
4. -
PChar 是一个指针 通过实例给出 API 参数中 PChar 类型的用法
5. -
字体以及使用设备环境 探讨一些基本的图形概念、设备接口和字体创建
6. -
画刷、画笔和计时器入门 关于设备接口上使用画刷、画笔画图以及计时器的更多例子
7. -
按钮和编辑框控件 演示如何使用更多选项和子类来得到按钮和编辑框控件
8. -
使用对话框 探讨在 Delphi 中创建真正的对话框的方法
9. -
菜单和列表框 介绍创建与使用菜单和列表框的方法
10. -
一个文本编辑程序(类似于记事本) 一个完整的类似记事本的程序,包含注册表与打印机的操作
11. -
一个使用列表框的消息发送程序 一个演示消息发送与列表框用法的程序
12. -
多媒体和多线程计时器的使用 一个显示滚动字幕和小球移动的动画程序
(出处:http://wang.minidns.net/blogview.asp?logID=145)