元件屬性如何在 Object Inspector 做展開 |
尚未結案
|
xBug
一般會員 發表:27 回覆:17 積分:8 註冊:2003-06-10 發送簡訊給我 |
小弟自行撰寫一元件,主要是要練習用,完整程式碼如下:
unit cusBevel; interface uses SysUtils, Classes, Controls, ExtCtrls, Graphics; type TcusBevel = class(TBevel) private AFont: TFont; protected { Protected declarations } public { Public declarations } published property Font: TFont read AFont write AFont; end; procedure Register; implementation procedure Register; begin RegisterComponents('Samples', [TcusBevel]); end; end.小弟發現,新增的 Font 屬性雖然出現在 Object Inspector 中,但卻無法像 TForm.Font 屬性一樣,能夠再展開(如下圖),想請教大大,該如何達成此種效果? -------------------------------- 給我一個支點,我可以撐起整個地球 |
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
change.jian
版主 發表:29 回覆:620 積分:439 註冊:2003-06-02 發送簡訊給我 |
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
|
xBug
一般會員 發表:27 回覆:17 積分:8 註冊:2003-06-10 發送簡訊給我 |
首先感謝各位大大熱心的幫忙,但小弟實在愚昧,試了好久,實在寫不出來我要的結果,所以把原始程式碼 POST 上來,請各位大大幫小弟看看。
unit UBASE_FORM; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, DesignEditors, DesignIntf; type TdbButtons = class(TPersistent) private FdbFirst : TToolButton; FdbPrior : TToolButton; FdbNext : TToolButton; FdbLast : TToolButton; FdbInsert : TToolButton; FdbDelete : TToolButton; FdbEdit : TToolButton; FdbPost : TToolButton; FdbCancel : TToolButton; FdbRefresh: TToolButton; published property dbFirst : TToolButton read FdbFirst write FdbFirst; property dbPrior : TToolButton read FdbPrior write FdbPrior; property dbNext : TToolButton read FdbNext write FdbNext; property dbLast : TToolButton read FdbLast write FdbLast; property dbInsert : TToolButton read FdbInsert write FdbInsert; property dbDelete : TToolButton read FdbDelete write FdbDelete; property dbEdit : TToolButton read FdbEdit write FdbEdit; property dbPost : TToolButton read FdbPost write FdbPost; property dbCancel : TToolButton read FdbCancel write FdbCancel; property dbRefresh: TToolButton read FdbRefresh write FdbRefresh; end; type TBASE_FORM = class(TForm) private FModuleID: integer; FAutoMargeToolBar: TToolBar; FdbButtons: TdbButtons; published property ModuleID: integer read FModuleID write FModuleID; property AutoMargeToolBar: TToolBar read FAutoMargeToolBar write FAutoMargeToolBar; property dbButtons: TdbButtons read FdbButtons write FdbButtons; end; TdbButtonsProperty = class(TClassProperty )//是否繼承自 TClassProperty 就可以了? function GetAttributes: TPropertyAttributes; override; procedure GetProperties(Proc: TGetPropProc); override; end; procedure Register; var BASE_FORM: TBASE_FORM; implementation {$R *.dfm} procedure Register; begin RegisterCustomModule(TBASE_FORM, TCustomModule); RegisterPropertyEditor(TypeInfo(TdbButtons), TdbButtons, 'dbButtons', TdbButtonsProperty);//這樣的語法正確嗎? end; { TBASE_FORM } { TdbButtonsProperty } function TdbButtonsProperty.GetAttributes: TPropertyAttributes; begin Result := [paSubProperties];//此處應包含哪些 TPropertyAttributes end; procedure TdbButtonsProperty.GetProperties(Proc: TGetPropProc); begin inherited; //此處應如何實做? end; end.-------------------------------- 給我一個支點,我可以撐起整個地球 |
lijenyun
一般會員 發表:3 回覆:19 積分:9 註冊:2003-06-22 發送簡訊給我 |
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
ucdesign2
一般會員 發表:24 回覆:33 積分:11 註冊:2002-10-23 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |