Создание страниц компонента Notebook во время работы приложения
procedure TForm1.Button1Click(Sender: TObject);
var
NewPage: TWinControl;
begin
TabbedNotebook1.Pages.Add(Edit1.Text);
NewPage := TabbedNotebook1.Pages.Objects[TabbedNotebook1.Pages.Count - 1]
as TWinControl;
with TLabel.Create(Self) dobegin
Left := 20;
Top := 20;
Caption := '&Телефон: ';
Parent := NewPage;
end;
with TEdit.Create(Self) dobegin
Left := 100;
Top := 20;
Text := '1-800-555-1212';
Parent := NewPage;
end;
end;
Here is the translation of the code into Russian:
Код, предоставленный ниже, является частью приложения Delphi, которое создает новую страницу в компоненте TabbedNotebook при клике кнопки Button1. Эта страница содержит TLabel и TEdit контролы.
Каждая часть кода выполняет следующее:
TabbedNotebook1.Pages.Add(Edit1.Text): Добавляет новую страницу в TabbedNotebook с текстом из Edit1 как ее заголовок.
NewPage := TabbedNotebook1.Pages.Objects[TabbedNotebook1.Pages.Count - 1] as TWinControl; : Получает ссылку на новую страницу и присваивает ее переменной NewPage.
Два вложенных блока with создают TLabel и TEdit контролы на новой странице.
with TLabel.Create(Self) do : Создает новый TLabel контроль.
Parent := NewPage; : Устанавливает родителя метки как новую страницу.
with TEdit.Create(Self) do : Создает новый TEdit контроль.
Left := 100; : Устанавливает левую позицию поля ввода.
Top := 20; : Устанавливает верхнюю позицию поля ввода.
Text := '1-800-555-1212'; : Устанавливает начальную текст в поле ввода в "1-800-555-1212".
Parent := NewPage; : Устанавливает родителя поля ввода как новую страницу.
Код не включает обработку ошибок, поэтому если возникнет проблема при создании или присваивании контролов (например, ошибка памяти), это может привести к неожиданному поведению или краху. Хорошей идеей будет добавить блоки try-except вокруг этих операций для обеспечения надежности.
Вот пример, как можно сделать это:
procedure TForm1.Button1Click(Sender: TObject);
var
NewPage: TWinControl;
begin
TabbedNotebook1.Pages.Add(Edit1.Text);
try
NewPage := TabbedNotebook1.Pages.Objects[TabbedNotebook1.Pages.Count - 1] as TWinControl;
with TLabel.Create(Self) do
begin
Left := 20;
Top := 20;
Caption := '&Телефон: ';
Parent := NewPage;
end;
with TEdit.Create(Self) do
begin
Left := 100;
Top := 20;
Text := '1-800-555-1212';
Parent := NewPage;
end;
except
ShowMessage('Произошла ошибка при создании страницы');
end;
end;
В статье описывается создание страницы компонента Notebook в Delphi при помощи addButtonClick-эвента, используя процедуру TForm1.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.