国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

在Delphi中編寫控件的基本方法(1)

2019-11-18 18:54:35
字體:
來源:轉載
供稿:網友
作為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); override;

  此處DoDrawText()根據四種類型(正常、凸起、凹進和陰影)分別畫出不同的文字。

二、使文字具有超鏈接屬性
  定義一個屬性URL表示要鏈接的網址或Email地址。

  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;

上一篇:用Delphi編寫安裝程序(1)

下一篇:Delphi中的窗體移動

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 葵青区| 桓仁| 临汾市| 郑州市| 上犹县| 阿鲁科尔沁旗| 玉溪市| 宜昌市| 乐亭县| 扎兰屯市| 河曲县| 富阳市| 崇阳县| 蓝田县| 四平市| 香河县| 富平县| 仙游县| 兴化市| 卓资县| 射阳县| 罗平县| 靖江市| 青岛市| 南郑县| 阳春市| 北宁市| 揭阳市| 中卫市| 旅游| 蚌埠市| 中山市| 临湘市| 桓台县| 四子王旗| 津南区| 龙川县| 资讯 | 灵台县| 唐山市| 鄂伦春自治旗|