Главная страница
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.016 c
8-17213
Noname_
2002-11-22 13:55
2003.03.06
Работа с DirectX


7-17414
Igor---
2003-01-08 13:09
2003.03.06
Клонирование дисков


1-17172
Кило
2003-02-24 09:24
2003.03.06
Как передать в Rave Report картинку не из Базы Данных ?


8-17204
Noname_
2002-11-25 15:35
2003.03.06
Capture в DirectX


3-16863
Makhanev A.S.
2003-02-17 21:57
2003.03.06
Каким DBGrid ом Вы пользуетесь? Какой посоветуете?