Динамический массив кнопок
Модератор: Модераторы
Динамический массив кнопок
Добрый день, не подскажите, как можно сделать динамический массив из кнопок..но такой, чтоб число столбцов было фиксированным, а число строк - динамическим... Просто мне нужно "программно" создать кнопки.
Объявить массив (наверно двухмерный) типа кнопки, добавляеш динамически нужное количество строк (первый уровень массива), по константе количество столбцов (второй уровень массива), далее задаёш размеры, "расставляеш" кнопки (я б предпочёл привязки), перед сокращением длины длины динмассива не забываеш уничтожать объекты кнопок. Ну и естественно всё это луче завернуть в отдельный класс (компонент).
Да, двумерный..Это делается так?
a: array of array [0..2] of TBitButton;
Добавлено спустя 2 минуты 1 секунду:
И про расставления кнопок...и где лучше прописывать код создания кнопок
a: array of array [0..2] of TBitButton;
Добавлено спустя 2 минуты 1 секунду:
И про расставления кнопок...и где лучше прописывать код создания кнопок
С предопределением второго уровня не задавал, но вроде да
Рекомендую вынести всё это в отдельный класс, наследуй TCustomControl, он и станет родителем для твоих кнопок. Для добавления создай метод "Add" с нужными параметрами, в этом методе и создавай кнопки. Привязки, да сделай демку, и скопируй из lfm'ки. Чтоб масштабировался компонент пропорционально переопределяй OnResize. Да в общем тут твоя фантазия, что надо то и лепи.
Рекомендую вынести всё это в отдельный класс, наследуй TCustomControl, он и станет родителем для твоих кнопок. Для добавления создай метод "Add" с нужными параметрами, в этом методе и создавай кнопки. Привязки, да сделай демку, и скопируй из lfm'ки. Чтоб масштабировался компонент пропорционально переопределяй OnResize. Да в общем тут твоя фантазия, что надо то и лепи.
Вот очень полезная статья про создание элементов в рантайме - здесь
Лучше пользоваться TList ...
Но вообще зачем мучится если можно просто накидать через insertComponent на форму любое количество любых динамически создаваемых кнопок и присвоить им общий обработчик кликов, в котором просто проверять подписи ?
Но вообще зачем мучится если можно просто накидать через insertComponent на форму любое количество любых динамически создаваемых кнопок и присвоить им общий обработчик кликов, в котором просто проверять подписи ?
