首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級 | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證
華為認證 | Java認證
公務(wù)員 | 報關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護士
會計從業(yè)資格考試會計證) | 經(jīng)濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務(wù)師
注冊資產(chǎn)評估師 | 高級會計師 | ACCA | 統(tǒng)計師 | 精算師 | 理財規(guī)劃師 | 國際內(nèi)審師
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價師 | 土地估價師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀人 | 投資項目管理師 | 土地登記代理人 | 環(huán)境影響評價師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師
繽紛校園 | 實用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲
您現(xiàn)在的位置: 考試吧(Exam8.com) > 計算機等級考試 > 計算機二級 > Delphi > 復(fù)習(xí)資料 > 正文

2011計算機等考Delphi:Delphi自定義部件開發(fā)

在本章中將闡述如何為Delphi應(yīng)用程序編寫部件。

 、 象文本一樣編輯屬性

  所有的屬性都需要將它們的值在Object Inspector窗口中以文本的方式顯示。屬性編輯器對象提供了文本表現(xiàn)和實際值之間轉(zhuǎn)換的虛方法。這些虛方法是GetValue和SetValue,你的屬性編輯器也能繼承了一系列的方法用于讀和寫不同類型的值。見下表:

  表19.5 讀寫屬性值的方法

  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  屬性類型 "Get"方法 "Set"方法

  ──────────────────────────

  浮點數(shù) GetFloatValue SetFloatVallue

  方法指針 GetMethodValue SetMehodValue

  有序類型 GetOrdValue SetOrdValue

  字符串 GetStrValue SetStrValue

  ━━━━━━━━━━━━━━━━━━━━━━━━━━

  當覆蓋GetValue方法時,調(diào)用一個"Get"方法;當覆蓋SetValue方法時調(diào)用一個"Set"方法。

  屬性編輯器的GetValue方法返回一個字符串以表現(xiàn)當前屬性值。缺省情況下GetValue返回 "unknown"。

  屬性編輯器的SetValue接收Object Inspector窗口String類型的參數(shù),并將其轉(zhuǎn)換成合適的類型,并設(shè)置屬性值。

  下面是TIntegerProperty的GetValue和SetValue的例子:

  function TIntegerProperty GetValue: string;

  begin

  Result := IntToStr (GetOrdValue);

  end;

  proceduve TIntegerPropertySetValue (Const Value: string);

  var

  L: Longint;

  begin

  L := StrToInt(Value); { 將字符串轉(zhuǎn)換為數(shù)學(xué) }

  with GetTypeData (GetPropType)^ do

  if ( L < Minvalue ) or ( L > MaxValue ) then

  Raise EPropertyError.Create (FmtloadStr(SOutOfRange,

  [MinValue,MaxValue]));

  SetOrdValue (L);

  end;

 、 將屬性作為一個整體來編輯

  Delphi支持提供用戶以對話框的方式可視化地編輯屬性。這種情況常用于對對象類型屬性的編輯。一個典型的例子是Font屬性,用戶可以找開Font對話框來選擇字體的屬性。

  提供整體屬性編輯對話框,要覆蓋屬性編輯對象的Edit方法。Edit方法也使用 "Get"和"Set"方法。

  在大多數(shù)部件中使用的Color屬性將標準的Windows顏色對話框作為屬性編輯器。下面是TColorProperty的Edit方法

  procedure TColorProperty.Edit

  var

  ColorDialog: TColorDialog;

  begin

  ColorDialog := TColorDialog.Create(Application); { 創(chuàng)建編輯器 }

  try

  ColorDialog.Color := GetOrdValue; { 使用已有的值 }

  if ColorDialog.Execute then

  SetOrdValue (ColorDialog.Color);

  finally

  ColorDialog.Free;

  end;

  end;

  ⑷ 描述編輯器的屬性

  屬性編輯必須告訴Object Inspector窗口如何采用合適的顯示工具。例如Object Inspector窗口需要知道屬性是否有子屬性,或者是否能顯示可能取值的列表。描述編輯器的屬性通常覆蓋屬性編輯器的GetAttributes方法。

  GetAttributes返回TPropertyAttributes類型的集合。集合中包括表中任何或所有的值:

  表19.6 屬性編輯器特征標志

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  標志 含 義 相關(guān)方法

  ──────────────────────────────

  paValuelist 編輯器能給予一組枚舉值 GetValues

  paSubPropertie 屬性有子屬性 GetPropertises

  paDialog 編輯器能顯示編輯對話框 Edit

  PaMultiSelect 當用戶選擇多于一個部件

  時,屬性應(yīng)能顯示 N/A

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  Color屬性是靈活的,它允許在Object Inspector窗口中以多種方式選擇他們;蛘哝I入,或者從列表中選擇定編輯器。因此TColorProperty的GetAttributes方法在返回值中包含多種屬性。

  function TColorProperty.GetAttributes: TProrertyAttributes;

  begin

  Result := [PaMultiselect, paDialog, paValuelist];

  end;

上一頁  1 2 3 4 5 6 7 8 9 10  ... 下一頁  >> 
  相關(guān)推薦:2010年9月計算機等級考試試題及答案解析專題
       預(yù)告:名師解析2010年9月計算機等級考試試題答案
       2010年9月計算機等級考試成績查詢時間及入口
       2010年9月計算機等考成績查詢短信免費提醒開通
文章搜索
計算機等級考試欄目導(dǎo)航
版權(quán)聲明:如果計算機等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本計算機等級考試網(wǎng)內(nèi)容,請注明出處。