Как установить функцию события нажатия кнопки, Borland Turbo c ++? - PullRequest
0 голосов
/ 09 июня 2011

Я создал кнопку не с дизайнером, но я не знаю, как назначить какую-либо функцию для события click.

TButton *tl[15][15];

void __fastcall TForm1::MyButtonClick(TObject *Sender)
{ 
   TButton *tlakt;
   tlakt=(TButton*)Sender;
   ...
}

__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{

   for (i=0;i<15;i++) for (j=0;j<15;j++){
    tl [i][j]=new TButton(this);
    tl [i][j]->Caption="";
    tl [i][j]->Width=24;
    tl [i][j]->Height=24;
    tl [i][j]->TabStop=false;
    tl [i][j]->Left=50+i*28;
    tl [i][j]->Top=50+j*28;
    tl [i][j]->Tag=i*100+j;
    /* SET MyButtonClick as EVENT FUNCTION */
    InsertControl (tl[i][j]);
   }
}

Ответы [ 2 ]

2 голосов
/ 10 июня 2011

Просто используйте это назначение для обработчика событий: tl [i][j]->OnClick = MyButtonClick; Вы можете предоставить любой метод класса (по имени) в качестве обработчика событий, который имеет такую ​​же сигнатуру, как указано для определенного события (в случае OnClick это должно быть void __fastcall MethodName(TObject *Sender)

1 голос
/ 09 июня 2011

Самое простое, что можно сделать, это просто дважды щелкнуть кнопку, и среда IDE создаст для вас объявления методов. В вашем случае это выглядит так, как будто вы скопировали / вставили один файл откуда-то и хотели бы назначить его вручную. Вы можете сделать это в инспекторе объектов. выберите кнопку в конструкторе, затем щелкните вкладку «события» в инспекторе объектов. Затем вы можете назначить любые существующие функции с правильной подписью событию OnClick.

...