Delphi元件设计初步.docVIP

  • 0
  • 0
  • 约 19页
  • 2017-02-09 发布于重庆
  • 举报
Delphi元件设计初步

Delphi元件设计初步 作者:Danny Tzu 日期:May-2-2002 前言 其實這篇文章很早以前就想寫了, 但礙於個人能力及時間的問題, 就一直拖著沒動作, 本篇並不是要講很多 VCL 的大道理, 而是教您如何簡單的 Step By Step 作出您自己的元件. 當然有人從不用3-Party元件, 理由是可以直接在另一台電腦上撰寫程式不用安裝元件, 但是Delphi本身就是用元件堆出來的, 不使用自訂元件我認為並不是一個聰明的作法. 撰寫本篇是因為大多數使用 Delphi 的人只會使用元件, 也許這是當初採用 Delphi 的原因, 但是在設計軟體時, 有很多時候只要簡單的設計或修改元件就可以解決問題, 我知道也有人寫一些共用的 procedure 或 function 但使用起來會有些限制或不方便, 但一想到要寫(改)元件要知道很多技術及原理, 尤其完整的撰寫元件文章書籍都是片片斷斷, 可能就馬上打了退堂鼓, 其實寫元件也可以很簡單, 當然您懂的東西越多可以寫的元件功能及型態越多. 本篇不談 Interface 的使用(以下範例一個 Interface 都沒用到), 但並不表示 Interface 不重要, 相反的它非常重要, 主要是我認為這不適合在這理說明, 如果各位有興趣的話可以參考 BrianChang 的「Interface的基礎 」及 code6421 的「淺談Interface」兩篇文章. 這裡我不會講很多的大道理, 但這並不表示您就可以不需要瞭解一些像: 物件導向, Windows 訊息機制, Stream I/O 機制 ... 等相關知識, 如果您懂得越多當然寫出來的元件越好; 雖然 Delphi 以視覺化設計著稱, 但寫元件一點也不視覺化, 您必須要像在 DOS 時代一樣純手工打造, 也許對有點年紀的人來說會反而更熟悉吧 ! 使用環境 Delphi 5, 6 All Version 建議使用 Enterprise 版本可以有很多 VCL Source code 可以參考. 開始吧 元件大致上分為二大類: 不可視元件: 不可視元件一般和系統有關, 他的特色是在 Run Time 時在軟體上是看不到他的, 但確實會提供服務, 像 TActionList, TMainMenu, TPopupMenu, TDataBase, TQuery.... 等.? 可視元件: 可視元件和不可視元件剛好相反, 在 Run Time 時他是看得到的, 當然 Design Time 也是可以看到, 不然您如何設定特性(property)及 Event, 像 TImage, TDBGrid, TEdit .... 都是. 其實您已經在寫元件了可能您自己都不知道, 您每天寫程式都是寫在哪裡 ? TForm 對吧 ! 您的 Form 都是繼承自 TForm 這個元件, New Form Unit 會產生如下的框架程式碼: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} end. 而以 New Component (Component - New Component) Unit 所產生的框架大概像下面這樣: unit CustomControl1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TCustomControl1 = class(TCustomControl) private { Private declarations } protected { Protected declarations } public { Public declarations } published { Published declarations } end; procedure Register; implementation procedure Register; begin RegisterComponen

文档评论(0)

1亿VIP精品文档

相关文档