Динамический массив кнопок

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Динамический массив кнопок

Сообщение Tatiana » 10.10.2013 10:08:46

Добрый день, не подскажите, как можно сделать динамический массив из кнопок..но такой, чтоб число столбцов было фиксированным, а число строк - динамическим... Просто мне нужно "программно" создать кнопки.
Tatiana
незнакомец
 
Сообщения: 4
Зарегистрирован: 27.09.2013 11:48:27

Re: Динамический массив кнопок

Сообщение qivi » 10.10.2013 10:22:11

Объявить массив (наверно двухмерный) типа кнопки, добавляеш динамически нужное количество строк (первый уровень массива), по константе количество столбцов (второй уровень массива), далее задаёш размеры, "расставляеш" кнопки (я б предпочёл привязки), перед сокращением длины длины динмассива не забываеш уничтожать объекты кнопок. Ну и естественно всё это луче завернуть в отдельный класс (компонент).
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Динамический массив кнопок

Сообщение Tatiana » 10.10.2013 10:24:49

Да, двумерный..Это делается так?
a: array of array [0..2] of TBitButton;

Добавлено спустя 2 минуты 1 секунду:
И про расставления кнопок...и где лучше прописывать код создания кнопок
Tatiana
незнакомец
 
Сообщения: 4
Зарегистрирован: 27.09.2013 11:48:27

Re: Динамический массив кнопок

Сообщение qivi » 10.10.2013 11:07:43

С предопределением второго уровня не задавал, но вроде да

Рекомендую вынести всё это в отдельный класс, наследуй TCustomControl, он и станет родителем для твоих кнопок. Для добавления создай метод "Add" с нужными параметрами, в этом методе и создавай кнопки. Привязки, да сделай демку, и скопируй из lfm'ки. Чтоб масштабировался компонент пропорционально переопределяй OnResize. Да в общем тут твоя фантазия, что надо то и лепи.
Аватара пользователя
qivi
энтузиаст
 
Сообщения: 703
Зарегистрирован: 19.01.2009 13:45:54
Откуда: Россия

Re: Динамический массив кнопок

Сообщение andrey_k3 » 13.10.2013 14:40:01

Вот очень полезная статья про создание элементов в рантайме - здесь
andrey_k3
новенький
 
Сообщения: 22
Зарегистрирован: 17.05.2012 09:52:32

Re: Динамический массив кнопок

Сообщение Alex2013 » 13.10.2013 19:18:25

Лучше пользоваться TList ...
Но вообще зачем мучится если можно просто накидать через insertComponent на форму любое количество любых динамически создаваемых кнопок и присвоить им общий обработчик кликов, в котором просто проверять подписи ?
Alex2013
долгожитель
 
Сообщения: 3146
Зарегистрирован: 03.04.2013 11:59:44


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 239

Рейтинг@Mail.ru