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

動態新增物件

答題得分者是:jow
jalern
一般會員


發表:2
回覆:10
積分:7
註冊:2007-08-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-10-11 16:37:43 IP:60.248.xxx.xxx 訂閱
Unit1.h

class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
TButton *btn;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
void __fastcall XXXClick(TObject *Sender);
};


Unit1.c

void __fastcall TForm1::Button1Click(TObject *Sender)
{
btn=new TButton(this);
btn->Parent=this;
btn->Caption="XXX Button";
btn->Left=10;
btn->Top=10;
btn->Width=100;
btn->Height=100;
btn->forbidden=XXXClick; <-----這一行會出錯
}

void __fastcall TForm1::XXXClick(TObject *Sender)
{
ShowMessage("XXXClick");
}

[C Error] Unit1.cpp(28): E2316 'forbidden' is not a member of 'TButton'

看了大家的文章都是這樣用的,請問是不是還有什麼要設定的呢
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-10-11 17:03:37 IP:122.124.xxx.xxx 未訂閱
改成btn->OnClick=XXXClick;
編輯記錄
taishyang 重新編輯於 2007-10-11 17:04:05, 註解 無‧
taishyang 重新編輯於 2007-10-11 17:04:39, 註解 無‧
jalern
一般會員


發表:2
回覆:10
積分:7
註冊:2007-08-21

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-10-11 17:27:14 IP:60.248.xxx.xxx 訂閱
哈哈哈,這麼簡單
拜謝拜謝
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-10-11 17:30:23 IP:122.124.xxx.xxx 未訂閱
編譯時的錯誤訊息已經告訴你答案了
jalern
一般會員


發表:2
回覆:10
積分:7
註冊:2007-08-21

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-10-11 17:44:39 IP:60.248.xxx.xxx 訂閱
是喔,真是菜鳥,搞不懂

還有一個問題,如果我的按紐是一組陣列,我該如何在XXXClick()中得知是哪個按紐被按下呢
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-10-11 17:50:28 IP:122.124.xxx.xxx 未訂閱
PO出你的程式碼吧
jalern
一般會員


發表:2
回覆:10
積分:7
註冊:2007-08-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-10-11 17:58:03 IP:60.248.xxx.xxx 訂閱
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i=0;i<10;i ){
btn[i]=new TButton(this);
btn[i]->Parent=this;
btn[i]->Caption="XXX Button";
btn[i]->Left=10;
btn[i]->Top=10 i*12;
btn[i]->Width=100;
btn[i]->Height=10;
btn[i]->OnClick =XXXClick; 不知道怎麼寫
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::XXXClick(TObject *Sender)
{
switch( )
{
case 0:

break;
case 1:


}
}

大概想做出不同按鈕跑不同動作的功能
jow
尊榮會員


發表:66
回覆:751
積分:1253
註冊:2002-03-13

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-10-11 18:05:45 IP:123.193.xxx.xxx 訂閱

===================引 用 jalern 文 章===================
void __fastcall TForm1::Button1Click(TObject *Sender)
{
for(int i=0;i<10;i ){
btn[i]=new TButton(this);
btn[i]->Parent=this;
btn[i]->Tag = i;
btn[i]->Caption="XXX Button";
btn[i]->Left=10;
btn[i]->Top=10 i*12;
btn[i]->Width=100;
btn[i]->Height=10;
btn[i]->OnClick =XXXClick; 不知道怎麼寫
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::XXXClick(TObject *Sender)
{
switch(((TComponent*)Sender)->Tag )
{
case 0:

break;
case 1:


}
}

大概想做出不同按鈕跑不同動作的功能
jalern
一般會員


發表:2
回覆:10
積分:7
註冊:2007-08-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-10-12 08:33:36 IP:60.248.xxx.xxx 訂閱
Very Thamk You
感謝兩位大大
完全搞定
系統時間:2024-05-03 16:10:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!