在Delphi中編寫控制元件的基本方法(1) (轉)
在Delphi中編寫控制元件的基本方法(1) (轉)[@more@]在中編寫的基本方法(1)
[ 作者: 雷小園 新增時間: 2001-5-5 18:01:08 ]
來源:
作為Delphi員,要想進一步提高水平就必須掌握控制元件的編寫方法,本篇文章將透過一個簡單的例子來為初學者介紹編寫控制元件的一些基本方法和。
這個例子控制元件叫TLeiLabel,是在TLabel的基礎上增加兩個實用的功能:一是使文字具有立體形狀,二是使文字具有超連結屬性。下面就讓我們一步步來實現這些功能。
一、使文字具有立體形狀
首先定義型別T3DEffect和屬性Style3D分別如下:
T3DEffect=(Normal,Raised,Lowered, Shadowed);
property Style3D:T3DEffect read FStyle3D write SetStyle3D default Normal;
再在private中定義變數:“FStyle3D:T3DEffect;”,並設定SetStyle3D()方法如下,這也是寫方法的一般格式:
procedure TLeiLabel.SetStyle3D(Value: T3DEffect);
begin
if FStyle3D <> value then
begin
FStyle3D := value;
invalidate; //表示控制元件將重畫
end;
end;
另外對於帶陰影的文字還要定義陰影的偏移量ShadeXOffSet和ShadeYOffSet:
property ShadowXOffSet: integer read FXOffSet write SetFXOffSet default 5;
property ShadowYOffSet: integer read FYOffSet write SetFYOffSet default -5;
寫方法SetFXOffSet()、SetFYOffSet()和上面的SetStyle3D()類似。
要重畫控制元件一般要過載Paint方法,此處只是重畫文字,我們只需過載DoDrawText方法。
DoDrawText的宣告放在Protected中:
procedure DoDrawText(var Rect: TRect; Flags: Longint); overr;
此處DoDrawText()根據四種型別(正常、凸起、凹進和陰影)分別畫出不同的文字。
二、使文字具有超連結屬性
定義一個屬性URL表示要連結的網址或E地址。
Property URL : String read FURL write SetURL;
寫方法SetURL如下:
procedure TLeiLabel.SetURL(Value: String);
Begin
if FURL <> Value then FURL := Value ;
if FURL <> ' then
Cursor := crHandPoint;
end;
當點選此Label時要開啟或收發工具,這便要過載Click方法。
Procedure Click; Override;
procedure TLeiLabel.Click;
[ 作者: 雷小園 新增時間: 2001-5-5 18:01:08 ]
來源:
作為Delphi員,要想進一步提高水平就必須掌握控制元件的編寫方法,本篇文章將透過一個簡單的例子來為初學者介紹編寫控制元件的一些基本方法和。
這個例子控制元件叫TLeiLabel,是在TLabel的基礎上增加兩個實用的功能:一是使文字具有立體形狀,二是使文字具有超連結屬性。下面就讓我們一步步來實現這些功能。
一、使文字具有立體形狀
首先定義型別T3DEffect和屬性Style3D分別如下:
T3DEffect=(Normal,Raised,Lowered, Shadowed);
property Style3D:T3DEffect read FStyle3D write SetStyle3D default Normal;
再在private中定義變數:“FStyle3D:T3DEffect;”,並設定SetStyle3D()方法如下,這也是寫方法的一般格式:
procedure TLeiLabel.SetStyle3D(Value: T3DEffect);
begin
if FStyle3D <> value then
begin
FStyle3D := value;
invalidate; //表示控制元件將重畫
end;
end;
另外對於帶陰影的文字還要定義陰影的偏移量ShadeXOffSet和ShadeYOffSet:
property ShadowXOffSet: integer read FXOffSet write SetFXOffSet default 5;
property ShadowYOffSet: integer read FYOffSet write SetFYOffSet default -5;
寫方法SetFXOffSet()、SetFYOffSet()和上面的SetStyle3D()類似。
要重畫控制元件一般要過載Paint方法,此處只是重畫文字,我們只需過載DoDrawText方法。
DoDrawText的宣告放在Protected中:
procedure DoDrawText(var Rect: TRect; Flags: Longint); overr;
此處DoDrawText()根據四種型別(正常、凸起、凹進和陰影)分別畫出不同的文字。
二、使文字具有超連結屬性
定義一個屬性URL表示要連結的網址或E地址。
Property URL : String read FURL write SetURL;
寫方法SetURL如下:
procedure TLeiLabel.SetURL(Value: String);
Begin
if FURL <> Value then FURL := Value ;
if FURL <> ' then
Cursor := crHandPoint;
end;
當點選此Label時要開啟或收發工具,這便要過載Click方法。
Procedure Click; Override;
procedure TLeiLabel.Click;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-1003905/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 在Delphi中編寫控制元件的基本方法 (轉)控制元件
- 用Delphi編寫安裝程式(1) (轉)
- Delphi使用VB編寫的ActiveX控制元件全攻略 (轉)控制元件
- 用Delphi編寫DelTree程式 (轉)
- 在Delphi中使用IP控制元件 (轉)控制元件
- 在delphi中使用flash控制元件 (轉)控制元件
- 用Delphi編寫點對點傳檔案程式(1) (轉)
- 利用DELPHI編寫WINDOWS外殼 (轉)Windows
- 關於Delphi中預編譯指令的使用方法 (轉)編譯
- 在 Linux 中如何編寫基本的 udev 規則Linuxdev
- 利用Delphi編寫IE擴充套件 (轉)套件
- Delphi編寫網路程式的安全措施 (轉)
- 排除Delphi5中編寫COM+程式的一個錯誤 (轉)
- 使用Delphi,SDK編寫Windows簡單程式 (轉)Windows
- 在DELPHI中圖片轉換
- 用 Delphi 編寫 VxD 裝置驅動程式(轉) (轉)
- 利用Delphi編寫Windows外殼擴充套件 (轉)Windows套件
- 用Delphi編寫塗鴉桌面的小程式 (轉)
- delphi中的時間操作技術(1) (轉)
- 在Delphi中操作快捷方式 (轉)
- 在Delphi中巧用WINDOWS 的API函式 (轉)WindowsAPI函式
- 編寫在瀏覽器中不彈出警告的ActiveX控制元件瀏覽器控制元件
- 初學 Delphi 嵌入彙編[26] - 大小寫字母轉換
- 對Delphi控制元件的一點改良 (轉)控制元件
- 使用Delphi呼叫C++編寫的DLLC++
- 在DELPHI程式中撥號上網 (轉)
- 改良控制元件-Delphi自帶控制元件Bug的消除 (轉)控制元件
- 在Delphi中實現圖片的旋轉、縮放 (轉)
- Testbench編寫指南(1)基本組成與示例
- 用Delphi編寫點對點傳檔案程式(2) (轉)
- 對Delphi控制元件的一點改良(二) (轉)控制元件
- delphi 控制元件的拿來主義(一) (轉)控制元件
- 相當於delphi的日曆控制元件 (轉)控制元件
- Delphi控制元件的拿來主義(二) (轉)控制元件
- 對Delphi控制元件的一點改良(三) (轉)控制元件
- Delphi控制元件的拿來主義(三) (轉)控制元件
- Delphi 6.0中屬性編輯器的解決方案 (轉)
- Delphi(BCB)中編譯器版本宏定義 (轉)編譯