關於動態產生元件的觸發事件問題 |
尚未結案
|
a8960905
一般會員 發表:30 回覆:47 積分:20 註冊:2003-09-19 發送簡訊給我 |
各位大大好,
小弟最近寫程式碰到了一個問題
我產生了x個Timage的元件
bmp1[x]=new TImage(this);
bmp1[x]->Parent = Form1->ScrollBox1;
bmp1[x]->Height = (Form1->wh);
bmp1[x]->Width = (Form1->wh);
bmp1[x]->Top = (Form1->wh*iy2);
bmp1[x]->Left = (Form1->wh*ix2);
bmp1[x]->MyBtnClick;
然後
//---------------------------------------------------------------------------
.h
void __fastcall MyBtnClick(TObject *Sender);
//---------------------------------------------------------------------------
void __fastcall TNew_Map::MyBtnClick(TObject *Sender)
{
在此處我想要讓被Click到的那個Image去Load一張圖,但是不知道到要怎麼去抓取是哪個Image被點到
}
//--------------------------------------------------------------------------- 請各位大大幫忙一下囉,謝謝啦~
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 各位大大好, 小弟最近寫程式碰到了一個問題 我產生了x個Timage的元件 bmp1[x]=new TImage(this); bmp1[x]->Parent = Form1->ScrollBox1; bmp1[x]->Height = (Form1->wh); bmp1[x]->Width = (Form1->wh); bmp1[x]->Top = (Form1->wh*iy2); bmp1[x]->Left = (Form1->wh*ix2); bmp1[x]->MyBtnClick; 然後 //--------------------------------------------------------------------------- .h void __fastcall MyBtnClick(TObject *Sender); //--------------------------------------------------------------------------- void __fastcall TNew_Map::MyBtnClick(TObject *Sender) { 在此處我想要讓被Click到的那個Image去Load一張圖,但是不知道到要怎麼去抓取是哪個Image被點到 } //--------------------------------------------------------------------------- 請各位大大幫忙一下囉,謝謝啦~*Sender 它就是了 |
a8960905
一般會員 發表:30 回覆:47 積分:20 註冊:2003-09-19 發送簡訊給我 |
引言: *Sender 它就是了jeffreck大大你好 我有試過這樣作但是他是TObject我是需要使用TImage的一些屬性 void __fastcall TNew_Map::MyBtnClick(TObject *Sender) 因為我想使用的是TImage被click以後會 被點到的image->Picture->LoadFromFile("xxx.jpg"); 我之前試*Sender->Picture->LoadFromFile("xxx.jpg"); 出現這樣的錯誤訊息: [C Error] Unit2.cpp(79): E2316 'Picture' is not a member of 'TObject' 我有試過把 void __fastcall TNew_Map::MyBtnClick(TObject *Sender) 的TObject改成TImage 卻在bmp1[total]->MyBtnClick; 出現了以下的錯誤訊息 : [C Error] Unit2.cpp(46): E2034 Cannot convert 'void (_fastcall * (_closure )(TImage *))(TImage *)' to 'void (_fastcall * (_closure )(TObject *))(TObject *)' 不知道有什麼辦法呢? 謝謝囉 |
segat80
一般會員 發表:5 回覆:24 積分:15 註冊:2003-02-10 發送簡訊給我 |
|
gac
初階會員 發表:2 回覆:28 積分:26 註冊:2004-08-16 發送簡訊給我 |
引言: void __fastcall TNew_Map::MyBtnClick(TObject *Sender) { 在此處我想要讓被Click到的那個Image去Load一張圖,但是不知道到要怎麼去抓取是哪個Image被點到 }只要在開頭加上一行: TImage * oMyImage = (TImage *)Sender;強制將 Sender 當成 TImage 物件,指定給 *oMyImage,之後,oMyImage 就可以當作被點到那個 Image 正常使用了!! 我..........還很嫩!
------
我..........還很嫩! |
a8960905
一般會員 發表:30 回覆:47 積分:20 註冊:2003-09-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |