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

如何同時指定同一類元件的某一個屬性?

尚未結案
Rink
一般會員


發表:5
回覆:9
積分:2
註冊:2002-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-09-14 00:16:17 IP:61.228.xxx.xxx 未訂閱
各位先進好 現在我在上 MCSD 的 C# 有教到要設定同一個「容器」裡的元件屬性的話 foreach (System.Windows.Forms.Control tmp in this.Controls) { if (tmp is TextBox) tmp.Text = ""; } 請問 BCB 有類似的寫法嗎? 有看過 bruce0211 大哥寫的「心得分享」系列裡的方法 心得分享 : 利用迴圈變更50個TLabel property for (int i = 1; i <= 50; i ) { ((TLabel *)FindComponent("Label" IntToStr(i)))->Caption=""; } 但這個方法似乎只適用元件的 Name 屬性是很類似才行 如果改了 Name 屬性的話就不行了... 想請問有無類似 C# 的方法呢??
furbylin
一般會員


發表:6
回覆:29
積分:12
註冊:2003-08-29

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-09-18 19:29:02 IP:61.221.xxx.xxx 未訂閱
您好: 若沒記錯的話,Visual Basic可以有元件陣列, 但是BCB好像沒有.
Rink
一般會員


發表:5
回覆:9
積分:2
註冊:2002-08-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-19 15:37:47 IP:211.20.xxx.xxx 未訂閱
我知道 我本來是想說看看有沒有其他變通的方法來達到這個目的 看來以後還是不要亂改元件的 NAME 屬性 還是謝謝你的回答了
Cooky Kid
初階會員


發表:5
回覆:68
積分:44
註冊:2002-07-11

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-09-19 17:13:23 IP:211.76.xxx.xxx 未訂閱
看看以下方法,可否提供您一些建議? 1. 先在Form1上新增不同名稱的 4 個 TEdit 元件 2. 在一個按鈕的OnClick事件上填入,如下: //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { //將Form1上的所有Edit元件皆失效 for(int i=0; i <Form1->ComponentCount; i ) if(Components[i]->ClassNameIs("TEdit")) { TEdit *tmpEdit = (TEdit *)Components[i]; tmpEdit->Enabled = false; // 測試 // tmpEdit->OnClick = MyClick; // MyClick 共通事件,你會撰寫吧? } } //--------------------------------------------------------------------------- 人生就像是盒中的巧克力,除非你試了,要不然,你永遠都不知道它是什麼樣的口味。--阿甘正傳 發表人 - Cooky Kid 於 2003/09/19 17:28:37
avex
初階會員


發表:19
回覆:49
積分:43
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-09-19 19:06:59 IP:218.163.xxx.xxx 未訂閱
你要的應該是這個吧? 這個範例更改 form 上是 TLabel 元件的 caption 屬性     TLabel *p;     for (int i=0; i<Form1->ComponentCount ; i ) { // 檢查是否為 TLabel 的元件, 若是則將 caption 改變 if ( (p = dynamic_cast(Form1->Components[i])) ) { p->Caption = "hello"; } }
Rink
一般會員


發表:5
回覆:9
積分:2
註冊:2002-08-09

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-09-22 14:09:24 IP:211.20.xxx.xxx 未訂閱
謝謝 Cooky Kid 和 avex 的解答.... 因為是 Cooky Kid 先解答的... 又只能針對一個人給分 所以對 avex 抱歉了...
系統時間:2024-11-25 3:40:00
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!