Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Создание компонентов   Найти похожие ветки 

 
JBL   (2005-10-29 16:01) [0]

Вопрос заключается не в том как создавать компоненты для делфи, а в том как ПРОГРАММНО создать компонент на форме?
К примеру приведу TCheckBox !!! Как мне их натыкать программно????


 
begin...end ©   (2005-10-29 16:04) [1]

http://delphikingdom.com/asp/viewitem.asp?catalogid=342


 
SergProger ©   (2005-10-30 01:56) [2]

var
 Form1: TForm1;
 NB: TButton;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 NB:=TButton.Create(Self);
 NB.Parent:=Self;
 NB.Left:=100;
 NB.Top:=100;
 NB.Caption:="New Button";
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 NB.Free;
end;


 
Юрий Зотов ©   (2005-10-30 05:31) [3]

> SergProger ©   (30.10.05 01:56) [2]

Переменная NB и обработчик OnDestroy - лишние.


 
SergProger ©   (2005-10-30 12:18) [4]

А ты знаешь как это сделать? Покажи мне, пожалуйста!


 
Юрий Зотов ©   (2005-10-30 13:40) [5]

> SergProger ©   (30.10.05 12:18) [4]

Переменная NB не нужна, потому что существует with:

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TButton.Create(Self) do
 begin
   Parent := Self;
   SetBounds(100, 100, Width, Height);
   Caption := "New Button";
 end
end;

А обработчик OnDestroy не нужен, потому что владельцем (Owner) кнопки мы сделали форму, поэтому при уничтожении формы она уничтожит кнопку сама, без нашего участия.


 
SergProger ©   (2005-10-30 14:46) [6]


> Юрий Зотов ©   (30.10.05 13:40) [5]


А как ты потом будешь к ней обращаться? Например, уже при обработке события FormClick?


 
Юрий Зотов ©   (2005-10-30 15:01) [7]

> SergProger ©   (30.10.05 14:46) [6]

При обработке OnClick - через Sender. А если действительно требуется сохранить ссылки, то введу массив, причем введу его, как поле формы. Но уж точно не буду использовать скалярную глобальную переменную.

Вопрос к Вам: а как обращаться к контролам, если "их натыкать программно" Вашим кодом?


 
JBL   (2005-10-30 20:41) [8]


> При обработке OnClick - через Sender.

а попдробнее насчёт этого можно? и желательно в примерах, чтобы можно было изменять разные всвойства компонента по ходу работы программы...


 
sniknik ©   (2005-10-30 20:55) [9]

procedure TForm1.ButtonClick(Sender: TObject);
begin
 TButton(Sender).Font.Style:= [fsBold];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with TButton.Create(Self) do
begin
  Parent := Self;
  SetBounds(100, 100, Width, Height);
  Caption := "New Button";
  OnClick:= ButtonClick;
end
end;


 
Юрий Зотов ©   (2005-10-30 22:17) [10]

> JBL   (30.10.05 20:41) [8]

Прочитайте статью по ссылке в посте [1] - исчезнут все вопросы по этой теме.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-1130225160
Pazitron_Brain
2005-10-25 11:26
2005.11.20
Как это сделать?


1-1130395821
VG
2005-10-27 10:50
2005.11.20
Диараммы в отчетах


2-1129828890
ASVShade
2005-10-20 21:21
2005.11.20
Знатокам процедур (хотя можно и запрос)


14-1130737263
Ega23
2005-10-31 08:41
2005.11.20
С днем рождения! 31 октября


8-1119933315
analyzer
2005-06-28 08:35
2005.11.20
Распознавание изображений