Delphi уроки: Динамически (программно) создаем новую форму.

Опубиковано: 31.08.2008 г., автор: , просмотров: 75453

Delphi уроки: Динамически (программно) создаем новую форму.

Сегодня я тебе расскажу, как можно программно создать форму, вместе мы сделаем лёгкий пример, надеюсь план понятен?! Тогда приступим! Если ты не знаешь о зачем это надо, то поясню, иногда заранее не известно сколько форм будет в программе это возникает в тех случаях когда пишешь программу, ну скажем чат для локальной сети... и надо сделать так что бы каждое личное сообщение выводилось в новом окне т.е в в новой форме.

Ну что поехали

Для начала создаем новый проект и кидаем на форму кнопку (button). Теперь создадим еще одну форму, жмем: File => New => Form
Сделали?.. Тогда создаем обработчик событий (OnClick) на кнопке и в нем пишем:

Form2:= TForm2.Create(Application);
Form2.Caption:= 'Новое сообщение';
form2.Show;

Запускаем проект и Delphi выдает нам вот такое окно, в котором нажимаем yes. ( Если окошко по каким либо причинам не появилось то после ключевого слова implementation допиши вот такую строчку)

uses Unit2;

динамическое создание формы delphi

Запускаем еще, теперь при каждом щелчке по кнопке будет создаваться новая форма. А вот как это получилось у меня:

программное создание новой формы в delphi

На сегодня все, Встретимся в следующем уроке.

P.S. Не забываем подписываться на бесплатную мультимедийную рассылку.
Форма для подписки расположена с права и с лева.

До встречи DelphiExpert.ru !!!



Похожие материалы

Последние из рубрики

михаил 06 Nov 2012 в 00:00 #
мда.... я дела, а у меня аваст заругался, мол вирус по имени троян))) жесть!!!
Александр 13 Dec 2011 в 00:00 #
Автору благодарность и уважение. Просто и наглядно.
Грищенко Александр 25 Nov 2011 в 00:00 #
Основываясь на варианте, который предложил автор темы, я проделал несколько наработок. Думаю, они могут ответить на вопросы, прозвучавшие здесь.

Предлагаю объявить глобальный массив типа TForm:
Fm: array [1..10] of TForm;

В событии OnCreate в глобальную переменную "i" присвоим:
i:=1;

Далее в тексте автора темы добавим строку:
Form2:= TForm2.Create(Application);
Form2.Caption:= ′Новое сообщение′;
form2.Show;
fm[i]:=Form2;
inc(i);

Таким образом у вас заполнится массив, который будет хранить в себе информацию о ваших формах. Если нужно будет обратиться к третьей форме, например чтобы закрыть ее, тогда пишете
fm[3].close; или
fm[3].Destroy;
Ну и так далее.
Владимир 06 Oct 2011 в 00:00 #
А после надо очистить память. form2.Free;
MrVamp_lukoyanov 23 Aug 2011 в 00:00 #
Самый простой способ:
[quote]
procedure TForm1.Button1Click(Sender: TObject);
var NewForm : TForm;
begin
NewForm:= TForm.Create(Owner);
NewForm.Show;
end;
[/quote]
---------------
[quote]
Я с помощью этого урока создал забавную программу!!!кто хочет посмотреть говорите!![/quote]
Видали где то в сети это гумно. Тупо, при щелчке по кнопке начинают окна плодиться, память забивать =)
Детский лепет.

ОтменитьДобавить комментарий