Вниз
Скачать: CL | DM;

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

 
Nemo ©   (2003-02-16 02:52) [0]

Подскажите, пожалуйста, как сделать чтобы при нажатии на одну кнопку динамически создавалась другая (не однократно)?


 
Надо нажать на кнопку.   (2003-02-16 05:47) [1]

Все просто, если не разыгрываешь.

Во первых, создаешь обработчик события, надеюсь знаешь.
Во вторых,
procedure TForm1.Button1Click(Sender: TObject);
var MyBtn: TButton;
begin
if (Sender is TButton)
then
with TButton(Sender) do
begin
MyBtn := TButton.Create(Self);
MyBtn.Width := Width;
MyBtn.Height := Height;
MyBtn.Top := Height+Top+4;
MyBtn.Left := Left;

with MyBtn do
begin
Parent := Self;
SetFocus;
Tag := 666;
Name := "Button"+IntToStr(Self.ComponentCount);
Caption := Name;
OnClick := Button1Click;
end;
end;
end;


 
Надо нажать на кнопку.   (2003-02-16 05:57) [2]

А можно так приколоться:

procedure TForm1.Button1Click(Sender: TObject);
var MyBtn: TButton;
begin
if (Sender is TButton)
then
with TButton(Sender) do
begin
Top := 5;
Left:= 5;
Width := Parent.ClientWidth-10;
Height := Parent.ClientHeight-10;
MyBtn := TButton.Create(Self);
MyBtn.Width := Width-6;
MyBtn.Height := Height-6;
MyBtn.Top := 3;
MyBtn.Left := 3;

with MyBtn do
begin
Parent := TButton(Sender);
SetFocus;
Tag := 666;
Name := "Button"+IntToStr(Self.ComponentCount);
Caption := Name;
OnClick := Button1Click;
end;
end;
end;


 
Nemo ©   (2003-02-18 00:47) [3]

Спасибо за ответ
кстати я так делал (ну почти все строки писал) и кнопка у меня создавалась. Вот только где? Я ее нигде так и не нашел и дальнейшие мои попытки ни к чему не привели.


 
DJ_Sedoy ©   (2003-02-18 05:03) [4]

Свойство Parent созданного компонента

MyBtn.Parent:=Form1;
(ну или Panel1 или любой визуальный компонент)


 
Думкин ©   (2003-02-18 06:18) [5]

Только в обоих примерах, есть маааленькое нехорошо.


 
Nemo ©   (2003-02-22 01:50) [6]

Да, а какое?


 
SeNtiMeL ©   (2003-02-22 02:37) [7]

а ты посмотри на код и подумай :)



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
1-17132
boolean
2003-02-21 15:39
2003.03.06
Как сделать, чтобы ListView фокусироваля на последней записи?


3-16859
bers
2003-02-17 21:26
2003.03.06
Цветовая индикация


1-17073
Vitus
2003-02-25 17:22
2003.03.06
Как всем элементам TActionList свойство Enabled := False?


14-17345
Дмитрий К.К.
2003-02-18 06:21
2003.03.06
Именинники 18 февраля


3-16884
iusup
2003-02-17 20:57
2003.03.06
Не работает прога с *.mdb на другой машине




   Наверх