物件名稱 能用變數取代嗎? |
答題得分者是:arisaka_matsuri
|
elva349
一般會員 發表:15 回覆:21 積分:17 註冊:2007-04-17 發送簡訊給我 |
例如
[code cpp] CheckBox1->Checked=true; CheckBox2->Checked=true; CheckBox3->Checked=true; CheckBox4->Checked=true; CheckBox5->Checked=true; CheckBox6->Checked=true; CheckBox7->Checked=true; CheckBox8->Checked=true; CheckBox9->Checked=true; CheckBox10->Checked=true; CheckBox11->Checked=true; CheckBox12->Checked=true; CheckBox13->Checked=true; CheckBox14->Checked=true; CheckBox15->Checked=true; CheckBox16->Checked=true; CheckBox17->Checked=true; [/code] 能否用個迴圈 把這個設定完呢!? |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
[code delphi]
procedure TForm1.Button2Click(Sender: TObject); var I: Integer; O: TCheckBox; begin for I := 1 to 17 do//根據你的程式碼 begin O := FindComponent('CheckBox' IntToStr(I)) as TCheckBox; if O <> nil then O.Checked := True; end; end; [/code] 相關學習建議: (1)學習什麼是 Owner? (2)Owner 如何利用ComponnetCount, Components, 來管理其下之元件(TComponent) (3)學習什麼 是Parent? (4)Parent 如何利用ControlCount, Controls, 來管理其下之顯示控制項(TControl) (5)發問前, 多多爬文.... ^_^
編輯記錄
jow 重新編輯於 2007-10-22 17:09:02, 註解 無‧
|
arisaka_matsuri
高階會員 發表:25 回覆:205 積分:231 註冊:2003-10-19 發送簡訊給我 |
簡單的可以只用 FindComponent() 來完成
進一步可以用 TList 或是自行建立一個 指標陣列 來管理 [code cpp] char *szName[] = {"CheckBox1", "CheckBox2", ..., "CheckBox17"}; for(int i = 0; i < 17; i) { ((TCheckBox *)FindComponent(szName[i]))->Checked = true; } // 如果要管理,建立一個指標陣列 TCheckBox **CheckBoxArray = new TCheckBox * [17]; // 或是用 TList TList *lstCheckBox = new TList; for(int i = 0; i < 17; i) { // 指標陣列 CheckBoxArray[i] = (TCheckBox *)FindComponent(szName[i]); // TList lstCheckBox->Add(FindComponent(szName[i])); } [/code] |
elva349
一般會員 發表:15 回覆:21 積分:17 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |