现在位置:主页>资源共享> 文章内容

利用 Delphi 基于 Windows API 开发应用程序

我要投稿更新日期:2008-07-25 点击:
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. -     多媒体和多线程计时器的使用
           一个显示滚动字幕和小球移动的动画程序 

 

备注:本文由DelphiZeus网站翻译整理而来,由于时间精力技术等多重原因,主要是采用意译方式,为了简化理解过程,某些代码被稍作改动,如有错误或不妥之处,请不吝指正。如有转载或传播,请保留完整信息。北京市第二中学网络中心 王甲春(Email & MSN :jiachun@gmail.com )



所有评论

评论列表


我也评论来评论! 点击此处参与本文评论

注意:本站采用匿名评论,请各位网友注意自己的言行