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

有關傳遞物件的問題

尚未結案
jimmy_tw
一般會員


發表:4
回覆:4
積分:1
註冊:2003-07-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-17 18:36:33 IP:210.66.xxx.xxx 未訂閱
請問如何得知傳進Function 中Source 的物件是那一個 謝謝各位
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-25 21:18:18 IP:219.84.xxx.xxx 未訂閱
引言: 請問如何得知傳進Function 中Source 的物件是那一個 謝謝各位
jimmy_tw 你好: 如果你指的「物件」是指 VCL 元件 (繼承自 TControl) 的話,先試試這個樣子 寫,是否能夠達到目的? < class="code"> void __fastcall TForm1::TestFunction(TObject *Sender) { ShowMessage(((TControl*)Sender)->Name); } void __fastcall TForm1::Button1Click(TObject *Sender) { TestFunction(Button1); TestFunction(Edit1); TestFunction(Memo1); } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
jimmy_tw
一般會員


發表:4
回覆:4
積分:1
註冊:2003-07-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-01 09:22:49 IP:210.66.xxx.xxx 未訂閱
引言:
引言: 請問如何得知傳進Function 中Source 的物件是那一個 謝謝各位
jimmy_tw 你好: 如果你指的「物件」是指 VCL 元件 (繼承自 TControl) 的話,先試試這個樣子 寫,是否能夠達到目的? < class="code"> void __fastcall TForm1::TestFunction(TObject *Sender) { ShowMessage(((TControl*)Sender)->Name); } void __fastcall TForm1::Button1Click(TObject *Sender) { TestFunction(Button1); TestFunction(Edit1); TestFunction(Memo1); } -- Enjoy Researching & Developing --
感謝版主的回答 是VCL沒錯 sorry 但版主提供的方式 必須每個Object Name是不一樣的 小弟我的物件是動態產生的 每一個物件名稱都沒有定義 只為了求快 (沒有定義會不會有問題??) 只需知道是屬於那一種類的即可 例如TImage 謝謝版主的回覆
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-01 19:00:54 IP:211.76.xxx.xxx 未訂閱
jimmy_tw你好: 試試Object的ClassName這個property
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-01 19:37:24 IP:61.66.xxx.xxx 未訂閱
您好, 請看看你要判別哪幾種型態 照以下方法判別就行了  
void __fastcall TForm1::TestFunction(TObject *Sender)
{
   TImage *imgObj=dynamic_cast(Sender);
   TEdit *edtObj=dynamic_cast(Sender);
   if(imgObj) {
      ShowMessage("這是TImage");
   } else if(edtObj) {
      ShowMessage("這是TEdit");
   } else {
     ShowMessage("這是其他的型態..");
   }
}
 
jimmy_tw
一般會員


發表:4
回覆:4
積分:1
註冊:2003-07-28

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-18 10:21:07 IP:210.66.xxx.xxx 未訂閱
引言: 您好, 請看看你要判別哪幾種型態 照以下方法判別就行了
void __fastcall TForm1::TestFunction(TObject *Sender)
{
   TImage *imgObj=dynamic_cast(Sender);
   TEdit *edtObj=dynamic_cast(Sender);
   if(imgObj) {
      ShowMessage("這是TImage");
   } else if(edtObj) {
      ShowMessage("這是TEdit");
   } else {
     ShowMessage("這是其他的型態..");
   }
}
 
thanks for you time.
系統時間:2024-05-15 5:32:52
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!