Ну никак!... Ваш скрипт проекта:
var
AppPath:String = ExtractFilePath(Application.ExeName);
Btn:TBitBtn; //объявляем глобальную переменную
procedure Form1_OnShow (Sender: string; Action: string);
begin
ButtonCreate('btnNew',Form1.Panel1,42,42,0,0,alLeft,blGlyphLeft,'', AppPath+'Images\Glyphs\add_card.bmp',@Test,True,True, False);
ButtonCreate('btnEdit',Form1.Panel1,42,130,50,0,alLeft,blGlyphLeft,'Редактировать', AppPath+'Images\Glyphs\allsoft.bmp',@Test2,True,True,False);
ButtonCreate('btnTest',Form1.Panel2,70,60,50,0,alTop,blGlyphTop,'Новая кнопка', AppPath+'Images\Glyphs\allsoft.bmp','',True,True,True);
end;
procedure Test();
begin
ShowMessage('Test');
end;
procedure Test2();
begin
ShowMessage('Вы нажали на кнопку "Редактировать"');
end;
procedure ButtonCreate (BtnName:String;BtnParent:TWinControl;BtnHeight,BtnWidth,BtnLeft,BtnTop:Integer;BtnAlign:TAlign;BtnLayout:TButtonLayout;BtnCaption,BtnGlyth,BtnProcedure:String;BtnEnabled,BtnVisible,BtnWordWrap:Boolean);
//BtnParent - компонент на котором будет размещена кнопка
//BtnHeight, BtnWidth - высота и ширина кнопки
//BtnLeft, BtnTop - координаты кнопки (слева, сверху)
// BtnAlign - выравнивание кнопки относительно компонента родителя. Может быть alNone - без выравнивания, alBottom - по нижней кромке, alClient - на весь компонент, alLeft - прижать к левой кромке, alRght - прижать к вехней кромке, alTop - по верхней кромке
//Btnlayout - расположение иконки и надписи. blGlyphBottom - иконка снизу, blGlyphLeft- иконка слева, blGlyphRight - иконка справа, blGlyphTop - иконка сверху
//BtnCaption - текст надписи
//BtnGlyth - путь к иконке в формате BMP
//BtnProcedure - процедура для срабатывания по клику
//BtnEnabled - определяет активна кнопка или нет
//BtnVisible - определяет видим компонент или нет
//BtnWordWrap - перенос слов
begin
Btn:= TBitBtn.Create(BtnParent);
Btn.Parent:= BtnParent;
Btn.Name:= BtnName;
Btn.Height:= BtnHeight;
Btn.Width:= BtnWidth;
Btn.Align:= BtnAlign;
Btn.layout:= BtnLayout;
Btn.Left:= BtnLeft;
Btn.Top:= BtnTop;
Btn.Caption:= BtnCaption;
Btn.Hint:= BtnHint;
Btn.Glyph.LoadFromFile(BtnGlyth);
Btn.Enabled:= BtnEnabled;
Btn.Visible:= BtnVisible;
Btn.WordWrap:= BtnWordWrap;
If BtnProcedure <> '' Then Btn.OnClick:= BtnProcedure;
end;
begin
end.