線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1260
推到 Plurk!
推到 Facebook!

自訂元件的屬性問題

尚未結案
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-08 10:02:38 IP:210.242.xxx.xxx 未訂閱
請教各位前輩: 小弟自己做了Tcolorbtn(繼承自Tbutton)的元件,並在此元件加了color屬性, 安裝之後,該元件的確多了color屬性,但是我試圖將color屬性改成別的顏色, 此元件的顏色卻不會變.不知道是我的程式有問題,還是Tbutton本來就不容許 有Color屬性.以下是程式碼: unit colorbtn; interface uses Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Forms,Graphics; type Tcolorbtn = class(TButton) private FColor: TColor; procedure SetColor(const Value: TColor); { Private declarations } protected { Protected declarations } public { Public declarations } published { Published declarations } property Color: TColor read FColor write SetColor default clred; end; procedure Register; implementation procedure Register; begin RegisterComponents('Mybtn', [Tcolorbtn]); end; { Tcolorbtn } procedure Tcolorbtn.SetColor(const Value: TColor); begin FColor := Value; changed; end; end.
danny
版主


發表:100
回覆:522
積分:595
註冊:2002-03-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-10 11:27:07 IP:219.81.xxx.xxx 未訂閱
引言: 請教各位前輩: 小弟自己做了Tcolorbtn(繼承自Tbutton)的元件,並在此元件加了color屬性, 安裝之後,該元件的確多了color屬性,但是我試圖將color屬性改成別的顏色, 此元件的顏色卻不會變.不知道是我的程式有問題,還是Tbutton本來就不容許 有Color屬性.以下是程式碼: unit colorbtn; interface uses Windows, Messages, SysUtils, Classes, Controls, StdCtrls, Forms,Graphics; type Tcolorbtn = class(TButton) private FColor: TColor; procedure SetColor(const Value: TColor); { Private declarations } protected { Protected declarations } public { Public declarations } published { Published declarations } property Color: TColor read FColor write SetColor default clred; end; procedure Register; implementation procedure Register; begin RegisterComponents('Mybtn', [Tcolorbtn]); end; { Tcolorbtn } procedure Tcolorbtn.SetColor(const Value: TColor); begin FColor := Value; changed; end; end.
首先你的 FColor 使用方式不對, 因為沒有使用 FColor 去處理 Tcolorbtn, 並且 TButton 是 Windows 的元件 (Delphi 只是把它包裝成 Delhpi Component), 所以還要多處理 Windows 的部份. 請參考 "可以變更button按鈕和字型的顏色嗎? " 這篇的內容(直接使用就可以) http://delphi.ktop.com.tw/topic.php?topic_id=18859
------
將問題盡快結案也是一種禮貌!
supermp54
一般會員


發表:22
回覆:24
積分:9
註冊:2004-01-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-11 14:58:46 IP:210.242.xxx.xxx 未訂閱
謝謝danny版主,我了解了~
系統時間:2024-05-19 19:12:01
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!