如何一次設定多個物件屬性 |
答題得分者是:pedro
|
chuanchuan
一般會員 發表:11 回覆:15 積分:5 註冊:2004-05-18 發送簡訊給我 |
|
pedro
尊榮會員 發表:152 回覆:1187 積分:892 註冊:2002-06-12 發送簡訊給我 |
|
chuanchuan
一般會員 發表:11 回覆:15 積分:5 註冊:2004-05-18 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi chuanchuan, Pedro 大大的程式碼完整寫法如下
procedure TForm1.Button4Click(Sender: TObject); var I : Integer; Temp : TObject; begin for I := ComponentCount - 1 downto 0 do begin Temp := Components[I]; if Temp is TButton then (Temp as TButton).Caption:='hello'; end; end;另外再提供另一種寫法 Uses typInfo procedure TForm1.Button56Click(Sender: TObject); Procedure SetAll(ClassName,Properties : String; Value : Variant); Var I : Integer; PropInfo: PPropInfo; BEGIN FOR I := 0 TO Self.ComponentCount - 1 DO BEGIN IF LowerCase(Self.Components[I].ClassName) = Lowercase(Classname) THEN BEGIN PropInfo := GetPropInfo(Self.Components[I],Properties); IF PropInfo <> NIL THEN BEGIN TRY SetPropValue(Self.Components[I],Properties,Value); EXCEPT END; END; END; END; END; begin SetAll('TEdit','enabled',False); end;---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
chuanchuan
一般會員 發表:11 回覆:15 積分:5 註冊:2004-05-18 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |