有人說過「不會開發(fā)控制項的Delphi程式設(shè)計師不是真正的程式設(shè)計師」。 Delphi正是由於高度的可擴展性和大量的第三方控制的支援才能吸引無數(shù)程式設(shè)計師挑剔的目光。即使是因為工作需要使用其他開發(fā)工具的開發(fā)者也常常懷念和Delphi度過的日日夜夜。接觸Delphi已經(jīng)一年多了,從當初對著Delphi組件面板上上百個控件不知所措,到現(xiàn)在已經(jīng)可以根據(jù)需要開發(fā)一些有一定難度的控件,其中走過的路是十分艱辛的,所以特此寫下這篇文章,將自己的經(jīng)驗留給後來者,也算是獻給「同門師弟」的一份厚禮吧!
需要說明的一點是:在寫這篇文章之前我假設(shè)讀者已經(jīng)對物件導(dǎo)向的基本知識有一定的了解,所以對於文章中物件導(dǎo)向相關(guān)的概念將不再展開敘述。
一、牛刀小試-TURLLabel控制
我們從一個能夠新增超連結(jié)的標籤控制項開始我們的控制開發(fā)之旅吧!
既然是Label我們就從Tlabel派生這個控件吧(其實從TcustomLabel派生最好,不過出於簡單的目的我們這裡先從Tlabel派生)!
1、選擇「File」->「New」-??>「Component」,將彈出如下的對話框:
在Ancestor type中選擇Tlabel,ClassName中填入TURLLabel(名字可以任意取,但是要以T開頭,否則的話會出現(xiàn)註冊控制時候的問題)。這裡Ancestor type代表控制項的基底類,TURLLabel代表控制項的名稱。
2、超連結(jié)的視覺效果是帶下劃線的文字,所以我們覆蓋父類別的建構(gòu)函數(shù),在建構(gòu)函數(shù)裡修改控制項的字體屬性。