- Регистрация
- 9 Май 2015
- Сообщения
- 1,562
- Баллы
- 155
В этом уроке мы с вами познакомимся, как создавать динамически компоненты в программе Delphi.
Все мы знаем, чтобы на форме появилась к примеру кнопка, мы из «Палитры инструментов» перетаскиваем компонент Button на форму.
Но вот если нам требуется, чтобы во время исполнения программы, создавался какой либо компонент. Этим мы сейчас и займемся.
Стандартная конструкция создания динамически компонента:
И так, именно по этой конструкции можно создать любой компонент динамически.
Что же, перейдем к практике.
Нашей задачей будет являться:
Чтобы при нажатии кнопки (Button1), создавался компонент Memo1, с конкретными позициями на форме.
Для начала в Delphi создадим новый проект, кинем на форму Button1, кликнем на него два раза, создавая этим событие OnClick, и объявим некую переменную Memo1 типа TMemo.
Объявив переменную, теперь нам нужно создать сам компонент Memo1 при нажатии на кнопку.
Если мы запустим нашу программу, то она не запустится, т.к мы не указали важный параметр — где будет появлятся Memo1. Правильный код:
Место Form2 вы пишите имя своей формы!
Если мы сейчас запустим программу и нажмем на кнопку, ничего не произойдет.
Что бы появился компонент Memo1 нам стоит дописать:
Место Form2 вы пишите имя своей формы!
Теперь если при запуске нажать на кнопку, появится Memo1. Поздравляю.
Теперь вы можете добавить свойства Memo1. К примеру:
Можете добавить свои значения
Полный код программы:
Все мы знаем, чтобы на форме появилась к примеру кнопка, мы из «Палитры инструментов» перетаскиваем компонент Button на форму.
Но вот если нам требуется, чтобы во время исполнения программы, создавался какой либо компонент. Этим мы сейчас и займемся.
Стандартная конструкция создания динамически компонента:
Код:
var
Component: TComponent;
begin
Component:=TComponent.Create(Owner);
Component.Parent:=Parent;
end;
Что же, перейдем к практике.
Нашей задачей будет являться:
Чтобы при нажатии кнопки (Button1), создавался компонент Memo1, с конкретными позициями на форме.
Для начала в Delphi создадим новый проект, кинем на форму Button1, кликнем на него два раза, создавая этим событие OnClick, и объявим некую переменную Memo1 типа TMemo.
Код:
var
Memo1: TMemo;
Код:
Memo1:=TMemo.Create;
Код:
Memo1:=TMemo.Create(Form2);
Если мы сейчас запустим программу и нажмем на кнопку, ничего не произойдет.
Что бы появился компонент Memo1 нам стоит дописать:
Код:
Memo1.Parent:=Form2;
Теперь если при запуске нажать на кнопку, появится Memo1. Поздравляю.
Теперь вы можете добавить свойства Memo1. К примеру:
Код:
Memo1.Left:=25;
Memo1.Top:=50;
Memo1.Width:=250;
Memo1.Height:=110;
Полный код программы:
Код:
procedure TForm2.Button1Click(Sender: TObject);
var
Memo1: TMemo;
begin
Memo1:=TMemo.Create(Form2);
Memo1.Parent:=Form2;
Memo1.Left:=25;
Memo1.Top:=50;
Memo1.Width:=250;
Memo1.Height:=110;
end;