![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Код:
И еще - как сделать, чтоб при нажатии на выше созданные кнопки открывалась, например, другая форма? Заранее спасибо, с ув. Лунтик. Последний раз редактировалось Лунтик-Некрофил, 22.12.2009 в 00:37. |
#2
|
||||
|
||||
![]() Код:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
||||
|
||||
![]() Спасибо, я думал код будет больше)
И если не сложно - как сделать, чтоб при нажатии на выше созданные кнопки открывалась, например, другая форма? Пытался через onclick - не выходит, click тоже... |
#4
|
||||
|
||||
![]() И еще проблема -
Код:
|
#5
|
|||
|
|||
![]() form2. - лишнее, ты же объявил Button:TButton, вот и юзай Button, а не form2.Button.
За уничтожением кнопок, ты скорее всего не следишь) |
#6
|
||||
|
||||
![]() Хех, ошибку понял) Сделал на form2create. Спасибо)
|
#7
|
||||
|
||||
![]() Кстати, что по поводу удаления кнопок?
|
#8
|
|||
|
|||
![]() В любом случаи, к кнопкам нужно обратиться, а у тебя они "ввоздух уходят", есть как минимум два пути, при создании кнопки сохранять на нее ссылку в массив, а потом, пробежаться по этому массиву и вызвать у каждой кнопки деструктор, второй способ, пробежаться по форме, и найти все Button с caption - которым ты им выдавал, и тоже самое, вызвать их деструктор.
|
#9
|
||||
|
||||
![]() Можно немного поточнее? Например второй путь. Кнопкам присваиваются имена, соответствующие бд, т.е. и выборку я смогу сделать по button.caption . Проблема в том, что я не представляю как пробежаться по форме и найти все buttons. И если не сложно - можно с примерчиком?)
|
#10
|
|||
|
|||
![]() Вот этот код, удаляет все кнопки с формы, тебе осталось поставить проверку на caption кнопок, если у тебя в таблице есть такой caption, тогда уничтожаешь кнопку иначе нет, хотя можно все кнопки создавать, скажем на TPanel-и, и точно так же их там все уничтожать.
Код:
|
#11
|
|||
|
|||
![]() А вот функция, которая удаляет кнопку с формы, по caption,
Код:
|
#12
|
||||
|
||||
![]() Вот это
Код:
Если при создании компонента ему задается Owner Код:
Также как Application уничтожает формы. |
#13
|
|||
|
|||
![]() Как я понял, судя по задаче, нужно добавлять и уничтожать кнопки, много раз до завершения программы, а не единожды., вообще, для таких целей, я бы написал компонент, к которому привязывался бы TDataSet, и кнопки и отрисовывал бы сам, работало бы это на ура.)
Последний раз редактировалось Asinkrit, 22.12.2009 в 17:52. |
#14
|
||||
|
||||
![]() Цитата:
А на счет компонента мысль интересная, я бы развил ее в таком духе: Компонент как наследник TPanel, а в нем методы: CreateButtonsFromDataSet, CreateButtonsFromStrings, AddButton(ACaption: string), ClearButtons ... |
#15
|
|||
|
|||
![]() Нет под компонентом я подразумевал набор кнопок, но не TButton, а массив из структуры кнопки (размер, положение, события), так же, сам бы их отрисовывал, через переписанный метод Paint; А наследника использовал бы TCustomCanvas; Такой компонент использовал бы минимум ресурсов, а кнопки отрисовывал с колосальной скоростью, в данном случае путь через TButton очень не практичный, но для написания подобных компонентов нужен довольно богатый опыт, как минимум надо знать классовую систему дельфей, как следствие, Лунатику-Некрофилу сейчас это точно не осилить)
Последний раз редактировалось Asinkrit, 22.12.2009 в 19:47. |