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

Вход

Приветствую Вас Гость | RSSЧетверг, 19.07.2018, 22:29
Меню сайта

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

Наш опрос
Оцените мой сайт
Всего ответов: 60

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

Урок 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) | Автор: Дубин Михаил Олегович
Просмотров: 1074 | Комментарии: 3 | Рейтинг: 5.0/2 |

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

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

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

Поиск

Друзья сайта

Статистика

Рейтинг@Mail.ru

Реклама

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