動態配置一個Button的問題 |
尚未結案
|
piny
一般會員 發表:1 回覆:4 積分:1 註冊:2003-10-01 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
piny您好:
請參考下面的code
//*.h class TForm1 : public TForm { __published: // IDE-managed Components TButton *Button1; void __fastcall Button1Click(TObject *Sender); private: // User declarations public: // User declarations void __fastcall MyBtnClick(TObject *Sender); __fastcall TForm1(TComponent* Owner); }; //*.cpp void __fastcall TForm1::Button1Click(TObject *Sender) { TButton* MyBtn=new TButton(this); MyBtn->Parent=Form1; MyBtn->Width=200; MyBtn->Caption="我是動態產生的按鈕"; MyBtn->MyBtnClick; } //--------------------------------------------------------------------------- void __fastcall TForm1::MyBtnClick(TObject *Sender) { ShowMessage("我被按到了"); }順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> |
piny
一般會員 發表:1 回覆:4 積分:1 註冊:2003-10-01 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
|
piny
一般會員 發表:1 回覆:4 積分:1 註冊:2003-10-01 發送簡訊給我 |
我的程式範例如下
//-------------------------------------------------------------------- #include
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
piny您好:
請改成下面這樣
TButton *my; void __fastcall TForm1::Button1Click(TObject *Sender) { my = new TButton(Form1); my->Parent = Form1; my->OnClick = myClick; my->Caption = "Test"; //mybtn = my; my->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::myClick(TObject *Sender) { my->Enabled = false; }順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> |
piny
一般會員 發表:1 回覆:4 積分:1 註冊:2003-10-01 發送簡訊給我 |
taishyang您好, 假若我將程式設計修改如下
#include
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
piny您好:
請改成下面這樣,其餘剩下的請自己解決囉
< class="code">
void __fastcall TForm1::myClick(TObject *Sender)
{
my->Enabled = false;
if (((TButton*)Sender)->Name=="Btn1")
ShowMessage("Btn1被按到了!");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseDown(TObject *Sender, TMouseButton Button,
TShiftState Shift, int X, int Y)
{
if(creat_flag)
{
static int i=1;
my = new TButton(Form1);
my->Parent = Form1;
my->Name="Btn" IntToStr(i);
my->OnClick = myClick;
my->Caption = "Btn" IntToStr(i);
my->Left = X;
my->Top = Y;
my->Show();
creat_flag = false;
Button1->Enabled = true;
i ;
}
}
//--------------------------------------------------------------------------- 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 -
|
gemi0305
版主 發表:81 回覆:564 積分:629 註冊:2003-05-11 發送簡訊給我 |
|
piny
一般會員 發表:1 回覆:4 積分:1 註冊:2003-10-01 發送簡訊給我 |
|
SENFO
一般會員 發表:13 回覆:22 積分:7 註冊:2006-07-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |