22.07.2009, 17:48
общий
это ответ
Здравствуйте, Николай // Programmator .
Немного усовершенствовал ответ Александр Романов [Alexo]
Добавил динамическое создание кнопок.
uses
..., ComCtrls, Buttons;
...
public
procedure SpeedButtonClick(Sender: TObject);
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var
tab : TTabSheet;
i : integer;
begin
tab:=TTabSheet.Create(Form1);
tab.PageControl:=PageControl1;
tab.Caption:='New';
for i:=0 to 4 do //количество кнопок на закладке
with TSpeedButton.Create(tab) do
begin
parent:=tab;//присваиваем родителя кнопке
left:=width*i;
PageControl1.Tag:=PageControl1.Tag+1;//количество кнопок увеличиваем на единицу
Name:='SpeedButton'+inttostr(PageControl1.Tag); //называем кнопку
caption:=inttostr(PageControl1.Tag);//надпись на кнопке
OnClick:=SpeedButtonClick;//присваиваем событие
end;
end;
//обработка нажатия на кнопку
procedure TForm1.SpeedButtonClick(Sender: TObject);
begin
if (Sender is TSpeedButton) then
form1.Caption:=TSpeedButton(Sender).Name;//получаем имя нажатой кнопки
end;