Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.06;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.027 c
3-16960
roadrunner
2003-02-17 09:59
2003.03.06
OnTitleClick и OnDblClick на DbGrid


14-17387
denis24
2003-02-18 19:47
2003.03.06
quickreport


14-17299
Dimich1978
2003-02-20 09:25
2003.03.06
Траспортники барзеют(Пенза)


3-16961
Sergey Masloff
2003-02-17 13:27
2003.03.06
Всем лентяям и чайникам посвящается...


3-16973
pifpaf
2003-02-17 12:32
2003.03.06
Удалённая база