Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
1st
Июн
Обработчик на динамически созданный компонент
Posted by micher under Delphi
Нужно создать обработчик события нажатия кнопки, которая была создана динамически на динамически созданной форме. Как это сделать?
lexo
procedure MyButtonClick(Self : TComponent; Sender : TButton);
begin
(Self.FindComponent('edUser') as TEdit).Text := 'hello';
end;
procedure TForm1.Button1Click(Sender: TObject);
Var
frmUser: TForm;
btnUser: TButton;
edUser:TEdit;
memUser:TMemo;
Method : TMethod;
begin
frmUser := TForm.Create(Self);
frmUser.Caption := 'Message';
frmUser.Left := 290;
frmUser.Top := 196;
frmUser.Width := 368;
frmUser.Height := 437;
btnUser := TButton.Create(frmUser);
btnUser.Left := 296;
btnUser.Top := 344;
btnUser.Width := 25;
btnUser.Height := 25;
btnUser.Caption := '>';
btnUser.Parent := frmUser;
Method.Code := @MyButtonClick;
method.Data := frmUser; // Self будет твоя форма
btnUser.OnClick := TNotifyEvent (Method);
edUser := TEdit.Create(frmUser);
edUser.Name := 'edUser'; // Вот имя - обязательно. По нему будет обращение к компоненту
edUser.Left := 32;
edUser.Top := 344;
edUser.Width := 257;
edUser.Height := 25;
edUser.Text := '';
edUser.Parent := frmUser;
memUser:=TMemo.Create(frmUser);
memUser.Left := 32;
memUser.Top := 32;
memUser.Width := 289;
memUser.Height := 297;
memUser.Parent := frmUser;
memUser.Lines.Clear;
frmUser.Show;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)