Главная Всё о Delphi Регистрация

Вход

Приветствую Вас Гость | RSSСуббота, 20.04.2024, 17:29
Меню сайта

Категории каталога
Начинающим [44]
Материалы для начинающих
Трюки [2]
Трюки
Разное [94]
Материалы на разные темы

Наш опрос
Какой версией Delphi вы пользуетесь?
Всего ответов: 119

Каталог статей
Главная » Статьи » Начинающим

Урок 10. Динамическое создание компонентов

Изучим динамический метод создания компонентов. Иногда компоненты надо создавать динамически. Например, на форме вашей программы может находится кнопка "Дополнительно...", при нажатии на которую ваша форма должна увеличится в размерах и на ней должны появится дополнительные элементы управления. Именно такой пример мы сейчас и рассмотрим. Откройте Delphi, уменьшите форму и расположите на ней кнопку Button1. Установите свойство Caption для кнопки в "Дополнительно...".

         Щелкните на кнопке Button1 и внесите в появившуюся заготовку следующий код.

 

 

Код кнопки:

 

procedure TForm1.Button1Click(Sender: TObject);

var

  btn: TButton; //Переменная для кнопки

  edt: TEdit;   //Переменная для Edit'а

begin

            //Увеличиваем размер формы

            Form1.Height:=Form1.Height+40;

//Отключаем кнопку

            Button1.Enabled:=false;

            //Создаем новую кнопку

btn:=TButton.Create(Form1);

            btn.Parent:=Form1;

            //Устанавливаем расположение новой кнопки

            btn.Top:=Form1.Height div 2+20;

            btn.Left:=10;

            btn.Width:=100;

            btn.Height:=25;

            btn.Caption:='Новая кнопка';

            //Создаем новый Edit

            edt:=TEdit.Create(Form1);

            edt.Parent:=Form1;

            //Устанавливаем расположение нового Edit'а

            edt.Top:=Form1.Height div 2+20;

            edt.Left:=120;

            edt.Width:=100;

            edt.Height:=25;

end;

 

Запускайте программу и нажимайте на кнопку. Форма увеличит размеры и на ней появятся два новых компонента - кнопка и Edit.

Всё на этом урок закончен.

Категория: Начинающим | Добавил: Дубин (07.08.2007) | Автор: Дубин Михаил Олегович
Просмотров: 1263 | Комментарии: 3 | Рейтинг: 5.0/2 |

Всего комментариев: 2
2 Lekas  
0
хм... а еслия изначально не знаю сколько кнопок мне надо создать?

1 Marked One  
0
Отличная статья!
Вместо этого: btn.Parent:=Form1, можно использовать метод формы InsertControl. Вот так Form1.InsertControl(btn)

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта

Статистика

Рейтинг@Mail.ru

Реклама

Copyright MyCorp © 2024Сайт управляется системой uCoz