物件型態轉換問題 |
尚未結案
|
jason_cyl329
高階會員 發表:123 回覆:155 積分:105 註冊:2003-05-26 發送簡訊給我 |
請問,一般我們使用傳遞物件參數時都是用以下的方式
void process( TObjec *Sender)
{ }
在依據需要用轉換的方式,例如說:
((TForm*)Sender)->Caption = "xxxxx";
這時,TForm1的Caption就可修改,
((TLabel*)Sender)->Caption = "yyyy";
這時,TTLabel的Caption就可修改,
每一個都要各自加上轉型的設定,
如果說,想建立一個萬用的,也就是說(TForm*),(TLabel*)類似變數型態的,
任何有Caption的都可以進去做修改,有無這種方法? 發表人 - taishyang 於 2004/07/29 14:21:51
|
andychang1690
資深會員 發表:20 回覆:694 積分:442 註冊:2003-03-14 發送簡訊給我 |
jason_cyl329 就我所能知道的是沒辦法,所以一般我都是以下面方式 執行: #includeAndy Chang
------
Andy Chang |
liangnet
中階會員 發表:19 回覆:148 積分:83 註冊:2004-01-03 發送簡訊給我 |
|
jason_cyl329
高階會員 發表:123 回覆:155 積分:105 註冊:2003-05-26 發送簡訊給我 |
|
pwipwi
版主 發表:68 回覆:629 積分:349 註冊:2004-04-08 發送簡訊給我 |
jason_cyl329你好:
具有Caption的最基本型態為TControl。所以只要都轉型成TControl*即可。不過難處在TControl的Caption是不能access的,只好用比較底層的方法(Perform函式),但效果還是一樣的。參考下面的Code。
for(int ia = 0; ia < Form1->ComponentCount; ia) { TControl *ControlToChange = dynamic_cast |
jason_cyl329
高階會員 發表:123 回覆:155 積分:105 註冊:2003-05-26 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |