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

如何將元件屬性設定成類似Font屬性?

 
skurama
中階會員


發表:88
回覆:127
積分:73
註冊:2002-07-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-08-12 21:34:24 IP:61.219.xxx.xxx 未訂閱
目前我知道可以用'Set of 列舉型態'的方式 來讓屬性名稱左邊可以有一個加號,然後按下後會變展開~ 但是其內容都是True or False 有沒有辦法讓其內容顯示可以是Int和String等等不同型態的放在一個屬性內 我知道要宣告成類似Font的好像是在published下的屬性設為TFont 那有沒有辦法自訂一個型態,此型態包含多種型態(ex:string,integer) 然後可以利用屬性左邊的加號展開 ex: 在一個Panel上放一個Button 在Object inspector上大部份都是Panel屬性,而有一個要展開的屬性, 此屬性的內容就是所有Button的屬性, 是否能辦到呢!? 請問有辦法嗎~~~~
------
----------------
初出芧房程設師,
左鍵右鼠寫程式,
日扣夜寫眼框溼,
望能早成系分師。
----------------
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-08-13 09:34:41 IP:61.219.xxx.xxx 未訂閱
寫一個Component Property Editor就可以了 例如:  1. property 繼承至TComponentProperty impliment 以下override之method 
TChartGroupsProperty=class(TComponentProperty)
  function GetComponentReference: TComponent; override;
  function GetSelections: IDesignerSelections; override;
  function AllEqual: Boolean; override;
  procedure Edit; override;
  function GetAttributes: TPropertyAttributes; override;
  procedure GetProperties(Proc: TGetPropProc); override;
  function GetEditLimit: Integer; override;
  function GetValue: string; override;
  procedure GetValues(Proc: TGetStrProc); override;
  procedure SetValue(const Value: string); override;
end;
2. 註冊此Editor
procedure Register;    implementation    procedure Register;
begin
  RegisterPropertyEditor(TypeInfo(TChartGroups),TBarChart,'ChartGroups',TChartGroupsProperty);
end;
note: 可參考 ..\delphi6\source\ToolsAPI\DesignEditors.pas
系統時間:2024-04-20 20:38:55
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!