全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1313
推到 Plurk!
推到 Facebook!

有辦法可以使用物件Protected的Property嗎?

答題得分者是:william
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-03 11:29:10 IP:61.219.xxx.xxx 未訂閱
目前遇到的問題是這樣的,通常商用軟體打開Form時,會需要針對Form上的各物件統一風格。大致上的做法是跑迴圈掃該Form上所有的Component。 假設要一併定義所有WinControl的Font.Size,這些物件可能包括TPageControl、TLabel、等。 變成需要不少判斷式 ... if Component[i] is TPageControl then ..... if Component[i] is TLabel then ..... etc... 這些物件的父代都來自,TControl,有沒有方法可以取用TControl的Font呢? 可以的話說不定就可以只需要寫一行就好了 if Component[i] is TControl then .....
william
版主


發表:66
回覆:2535
積分:3048
註冊:2002-07-11

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-03 14:08:40 IP:147.8.xxx.xxx 未訂閱
In your unit define a cheating class, e.g.    TCheatControl = class (TControl);    then    TCheatControl(AControl).Font.....    Perhaps you could take a look at RTTI instead of the above trick, i.e. TypInfo.pas.    http://pywong.hk.st http://www.lazybones.ca
deity
尊榮會員


發表:90
回覆:876
積分:678
註冊:2003-05-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-03 14:47:46 IP:218.15.xxx.xxx 未訂閱
插个花:
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
for i:= 0 to ComponentCount-1 do
  if Components[i] is TControl then
    with TControl(Components[i]) do
      Font.Size:=14;
end;
~~~静心养德~~~
pprayer
高階會員


發表:35
回覆:185
積分:174
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-03 17:20:30 IP:61.219.xxx.xxx 未訂閱
感謝二位前輩解答 :) 因為威廉兄較先回答,所以解題給威廉兄,請deity兄別見怪。
s5633
一般會員


發表:22
回覆:35
積分:21
註冊:2002-04-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-09 15:52:50 IP:220.130.xxx.xxx 未訂閱
請問如果要判斷Form上面的元件是否含有ImeMode屬性,是否可以像樓上依樣簡潔的寫法?
jest0024
高階會員


發表:11
回覆:310
積分:224
註冊:2002-11-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-11 06:25:12 IP:211.74.xxx.xxx 未訂閱
引言: 請問如果要判斷Form上面的元件是否含有ImeMode屬性,是否可以像樓上依樣簡潔的寫法?
if GetPropInfo(Obj,'ImeMode')=nil then ShowMessage('Not Obj'); 註: 在Control下有個ParentFont屬性..即可参考Parent的Font屬性!!例.. Form1下有Edit1,Edit2... 只要設 Form1.Font.Size:=12; 即可修改Edit1,Edit2的Size.
系統時間:2024-05-21 23:05:32
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!