Форум — Ответы ( К темам )
| ? | 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");
}
//----------------------------------------------------------------------------
| |