Форум — Ответы ( К темам )
? | CrazyRol: Как подвесить события на динамически создаваемые кнопки? (05-04-2003 00:40:06) |
Глубокоуважаемый all! Создал я динамически несколько кнопок: TButton *ChBut[8]; void __fastcall TMyForm::FormCreate(TObject *Sender) { for(int i=0;i<8;i++) { ChBut[i]=new TButton(this); ChBut[i]->Parent=this; ChBut[i]->Left=5; ChBut[i]->Top=25+30*i; ChBut[i]->Width=75; ChBut[i]->Height=25; ChBut[i]->Caption=i+1; } } А как теперь на нажатие каждой кнопки подвесить событие? | |
Владимир (05-04-2003 14:10:32) | |
Например так: // в файле Unit1.h public: // User declarations void __fastcall MyButClick(TObject *Sender); // в файле Unit1.cpp TButton *ChBut[8]; void __fastcall TForm1::FormCreate(TObject *Sender) { for(int i=0;i<8;i++) { ChBut[i]=new TButton(this); ChBut[i]->Parent=this; ChBut[i]->Left=5; ChBut[i]->Top=25+30*i; ChBut[i]->Width=75; ChBut[i]->Height=25; ChBut[i]->Caption=i+1; ChBut[i]->Tag = i+1; ChBut[i]->OnClick = MyButClick; } } //--------------------------------------------------------------------------- void __fastcall TForm1::MyButClick(TObject *Sender) { ShowMessage("Click in "+IntToStr(((TButton*)Sender)->Tag)+" button"); } //---------------------------------------------------------------------------- |