Форум: "Начинающим";
Текущий архив: 2005.11.20;
Скачать: [xml.tar.bz2];
ВнизСоздание компонентов Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.043 c