Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
ВнизДинамически создать три формы и для каждой свою кнопку Найти похожие ветки
← →
Сергей (2009-09-18 18:45) [0]Господа,
нужно динамически создавать три формы с кнопками. Как вызвать обработчик динамически созданной кнопки?
← →
{RASkov} © (2009-09-18 19:13) [1]Перечитай свой вопрос и представь как на него можно ответить... без мата.
← →
clickmaker © (2009-09-18 19:17) [2]> Как вызвать обработчик динамически созданной кнопки?
как любой метод
← →
Сергей (2009-09-18 19:34) [3]Но у ведь у кнопки еще нет имени (например button1) Как мне к ней обратиться к ней из другой функции.
← →
{RASkov} © (2009-09-18 19:38) [4]> [3] Сергей (18.09.09 19:34)
button1 - это не имя кнопки, а имя переменной(поля)...
Что ты уже сделал в своей задаче?
← →
Сергей (2009-09-18 19:55) [5]procedure TForm1.Button5Click(Sender: TObject);
begin
NewForm(Form1);
NewButton(?????);
end;
function NewForm(Form1:TForm):TForm;
var F:TForm;
begin
F:=TForm.Create(Form1);
//formnumber:= formnumber+1; ?????
//F.Name:="NewForm" + IntToStr(formnumber);
F.Top:=20;
F.Left:=10;
F.Width:=40;
F.Height:=50;
F.Visible:=true;
NewForm:=F;
end;
function NewButton(?????):TButton;
var B:TButton;
begin
B:=TButton.Create(????);
B.Name:="Button ????;
B.Top:=20;
B.Left:=10;
B.Width:=10;
B.Height:=20;
B.Visible:=true;
B.Parent:=?????(form);
NewButton:=B;
end;
← →
Жорж (2009-09-18 19:57) [6]Видимо, автор имеет ввиду, что не знает, как присвоить обработчик динамически созданной кнопке
это делается приблизительно так:
type
TMyForm = class(TForm)
...
public
procedure ButtonClick(Sender: TObject);
end;
...
procedure TMyForm.ButtonClick(Sender: TObject);
begin
//Sender as TButton - это указатель на кнопку
end;
...
var MyForm: TMyForm;
var
B: TButton;
B:=TButton.Create(self);
B.OnClick:=MyForm.ButtonClick;
← →
{RASkov} © (2009-09-18 20:20) [7]> [5] Сергей (18.09.09 19:55)
> NewButton(?????);
дык у тебя function NewForm(Form1:TForm):TForm; - функция, а используешь ее как процедуру, почему?
вот твой код:procedure TForm1.Button5Click(Sender: TObject);
begin
NewButton(NewForm(Form1));
end;
но если честно общее мнение по коду(по всему коду из [5]) - переделать.
← →
Сергей (2009-09-18 20:31) [8]Согласен, но как? Может есть ссылка для моего случая?
← →
{RASkov} © (2009-09-18 20:41) [9]> [8] Сергей (18.09.09 20:31)
поищи в яндексе или гугле "жизнь и смерть в run time" или прямо на королевстве это ищи
прямой ссылки у меня нет.
← →
Сергей (2009-09-18 20:45) [10]ок. спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.11.08;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.196 c