![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| DeepPurple |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
вот такая вот проблема возникла:
одна кнопка создает кнопки которые добавляются в динамический массив. необходимо чтобы по нажатию каждой кнопки она удаляла сама себя, и, допустим, чекбокс с таким же св-вом Tag. при создании кнопки указываю TButton(New).OnClick:=OnClickButton; а вот что написать в процедуре онклик никак придумать не могу. ведь когда мы пишем кнопки еще не созданы и дестроить нечего. да еще и вдобавок свойства кнопки которая только что была нажата не могу использовать. соответственно и другой компонент удалить сложно(чекбокс тоже создается в процессе) 2й вопрос такой. необходимо по нажатию на кнопку привязать панель к скролл боксу и на панели создать едит например. я использовал такую процедуру:
панель создается на скроллбоксе а эдит нет. буду рад конструктивным ответам |
|||
|
||||
| Демо |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 7 Всего: 50 |
Добавлено через 4 минуты и 22 секунды
У тебя TEdit уходит за пределы панели.
-------------------- |
||||||||
|
|||||||||
| DeepPurple |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 13.5.2009 Репутация: нет Всего: нет |
большое спасибо за ответ, это действительно работает, но мой мозг взрывается при попытки его модифицировать
у меня возникли некоторые вопросы 1) в чем хитрость этой операции?
2) ни как не могу понять (а хотелось бы) принцип действия вот этого, да и вообще зачем мы в процедуре просто делаем ссылку на другую процедуру оО:
и почему мы не пишем все остальное в онклик? 3) что за свойство handle? к сожалению хелпер мало чего обьяснил. Искренне буду рад если ответите) Это сообщение отредактировал(а) DeepPurple - 20.5.2009, 00:13 |
||||
|
|||||
| Демо |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 7 Всего: 50 |
[quote=DeepPurple, 20.5.2009, 00:10, post1872804]1) в чем хитрость этой операции?
Ссылка на удаляемую кнопку может находиться в середине массива. В этом случае мы удаляем не элемент внутри массива, а последний. Но для этого переносим все элементы конца массива на одну позицию ближе к началу.
Так как из самого метода класса (в обрабочике OnClick) нельзя удалить экземпляр этого класса, мы говорим сделать это другому объекту - в данном случае форме.
Так как форма - это лишь над стройка над окнами Windows, то для использования функций WInAPI32 нужно знать Handle - дескриптор окна. TForm.Handle как раз и является таким дескриптором. -------------------- |
||||||
|
|||||||
| kami |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1806 Регистрация: 25.8.2007 Где: Санкт-Петербург Репутация: 22 Всего: 72 |
||||
|
||||
| Демо |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1278 Регистрация: 3.11.2005 Репутация: 7 Всего: 50 |
Да в принципе без разницы. Плюсы и минусы есть и в одном, и в другом случае-) -------------------- |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |