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

動態建立BUTTON後,如何對他執行CLICK動作

答題得分者是:syntax
迷幻御史
一般會員


發表:3
回覆:1
積分:0
註冊:2007-04-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-04-28 22:54:10 IP:122.126.xxx.xxx 訂閱
這是H檔 <textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- #ifndef Unit1H #define Unit1H //--------------------------------------------------------------------------- #include #include #include #include <Forms.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // IDE-managed Components void __fastcall FormCreate(TObject *Sender); private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); TButton *Button[9][9] ; void __fastcall muxbtnforbidden(TObject *Sender); void __fastcall muxbtnClick(TObject *Sender); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif </textarea>
這是CPP檔
<textarea class="cpp" rows="10" cols="60" name="code">//--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; TButton *muxbtn[9][9]; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { for(int i=0 ; i<9 ; i ) { for (int j=0 ; j<9 ; j ) { muxbtn[i][j]= new TButton(this); muxbtn[i][j]->Name = "btn" IntToStr(i 1) IntToStr(j 1) ; muxbtn[i][j]->Parent = Form1; muxbtn[i][j]->Caption = IntToStr(i 1) "*" IntToStr(j 1); muxbtn[i][j]->Height = 35 ; muxbtn[i][j]->Width = 35 ; muxbtn[i][j]->Top = i*40 ; muxbtn[i][j]->Left = j*40 ; //muxbtn[i][j]->forbidden = &muxbtnforbidden; //muxbtn[i][j]->forbidden = muxbtnClick; } } } //--------------------------------------------------------------------------- void __fastcall TForm1::muxbtnforbidden(TObject *Sender) { } </textarea><br />
相關文章所敘述FORBIDDEN...小弟無法正確執行...
系統反應是IT IS NOT A MEMBER FOR TBUTTON

目前的程式碼可以跑出所有的BUTTON
BUTTON上皆有I*J 二維陣列
想要做按下該BUTTON 可以運算其九九乘法之值
並將其結果顯示在CAPTION上...
請問各位前輩...該如何撰寫其程式碼??

//---------------------------------------------------------------

感謝兩位前輩...程式我已改寫成新增一CLASS來解決...

相關問題的用法也的確就像兩位的回答一般...

剛開始學BCB...很多技巧不懂使用...希望各位包容^^
編輯記錄
迷幻御史 重新編輯於 2007-05-01 04:16:58, 註解 無‧
syntax
尊榮會員


發表:26
回覆:1139
積分:1258
註冊:2002-04-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-04-29 01:01:16 IP:61.64.xxx.xxx 訂閱
muxbtn[i][j]->OnCliek = muxbtnClick;
ting0826
一般會員


發表:0
回覆:1
積分:0
註冊:2007-04-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-04-30 09:52:42 IP:210.209.xxx.xxx 訂閱
你好: 
<textarea class="cpp" rows="10" cols="60" name="code"> void __fastcall TForm1::FormCreate(TObject *Sender) { for(int i=0 ; i<9 ; i ) { for (int j=0 ; j<9 ; j ) { muxbtn[i][j]= new TButton(this); muxbtn[i][j]->Name = "btn" IntToStr(i 1) IntToStr(j 1) ; muxbtn[i][j]->Parent = Form1; muxbtn[i][j]->Caption = IntToStr(i 1) "*" IntToStr(j 1); muxbtn[i][j]->Height = 35 ; muxbtn[i][j]->Width = 35 ; muxbtn[i][j]->Top = i*40 ; muxbtn[i][j]->Left = j*40 ; muxbtn[i][j]->forbidden=MyBtnClick; } //Form1->InsertControl(MyButton[i]); } } //--------------------------------------------------------------------------- void __fastcall TForm1::MyBtnClick(TObject *Sender) { for(int i=0; i<9; i ) { for (int j=0; j<9; j ) { if (((TButton*)Sender)->Name=="btn" IntToStr(i 1) IntToStr(j 1)) ((TButton*)Sender)->Caption=(i 1)*(j 1); } } } </textarea>
編輯記錄
ting0826 重新編輯於 2007-04-30 09:55:24, 註解 無‧
taishyang 重新編輯於 2007-04-30 11:02:18, 註解 程式排版‧
系統時間:2024-05-17 2:09:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!