有人說過“不會開發(fā)控件的Delphi程序員不是真正的程序員”。Delphi正是由于高度的可擴(kuò)展性和大量的第三方控件的支持才能吸引無數(shù)程序員挑剔的目光。即使是由于工作需要使用其他開發(fā)工具的開發(fā)者也常常懷念和Delphi度過的日日夜夜。接觸Delphi已經(jīng)一年多了,從當(dāng)初對著Delphi組件面板上上百個控件不知所措,到現(xiàn)在已經(jīng)可以根據(jù)需要開發(fā)一些有一定難度的控件,其中走過的路是十分艱辛的,所以特此寫下這篇文章,將自己的經(jīng)驗(yàn)留給后來者,也算是獻(xiàn)給“同門師弟”的一份厚禮吧!
需要說明的一點(diǎn)是:在寫這篇文章之前我假設(shè)讀者已經(jīng)對面向?qū)ο蟮幕局R有一定的了解,所以對于文章中面向?qū)ο笙嚓P(guān)的概念將不再展開講述。
一、牛刀小試-TURLLabel控件
我們從一個能夠添加超鏈接的標(biāo)簽控件開始我們的控件開發(fā)之旅吧!
既然是Label我們就從Tlabel派生這個控件吧(其實(shí)從TcustomLabel派生最好,不過出于簡單的目的我們這里先從Tlabel派生)!
1、選擇“File”->“New”->“Component”,將彈出如下的對話框:
在Ancestor type中選擇Tlabel,ClassName中填入TURLLabel(名字可以任意取,但是要以T開頭,否則的話會出現(xiàn)注冊控件時候的問題)。這里Ancestor type代表控件的基類,TURLLabel代表控件的名稱。
2、超鏈接的視覺效果是帶下劃線的文字,所以我們覆蓋父類的構(gòu)造函數(shù),在構(gòu)造函數(shù)里修改控件的字體屬性。