Форум: "Компоненты";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизКак отработать DragAndDrop в DesignTime? Найти похожие ветки
← →
Vasiliy (2006-11-11 20:40) [0]Задача такая:
Есть два компонета наследники TControl, A и B.
Допустим компонент A уже на форме, нужно на форму положить компонент В так чтобы он автоматом добавлялся в TList компонента A.
← →
Юрий Зотов © (2006-11-11 22:22) [1]Дык... а при чем же тут дрыг-н-прыг?
У обоих компонентов есть Notification. Этого вполне достаточно.
← →
Vasiliy (2006-11-11 23:15) [2]Не знаю что такое Notification, тёмный, нечего сказать :)
Решил вопрос подругому
Компонент А сделал наследником TCustomControl и установил в ControlStyle csAcceptsControls, после этого все компоненты стали сваливаться в Controls, этого достаточно.
← →
Юрий Зотов © (2006-11-11 23:21) [3]> Vasiliy (11.11.06 23:15) [2]
Да, только это решение ДРУГОЙ задачи, а не той, которая была описана в вопросе.
Кстати, а почему бы тогда просто не использовать панель?
← →
Vasiliy (2006-11-12 12:59) [4]Да просто пытался собрать компонент по минимуму, да и канва нужна была, а у панели кажись её нет.
А задачу может быть и не совсем понятно описал, дело в том, что компонент А - это чтото типа скина с битмаповскими элементами отрисовки, а компонент В - это графическая кнопка.
По отдельности все работает замечательно, но когда ложу кнопку на скин то возникают проблемы с фиксацией положения кнопки на скине при изменении размеров окна. Отрисовка происходит в разное время и кнопка ползает по скину. Поэтому я решил отказаться от канвы и метода паинт на кнопке и стал отрисовывать содержание кнопки в паинте скина.
Вот как раз для этого мне и нужно было чтобы компоненты кнопок прописывались в массиве скина.
Если есть более элегантное решение - буду премного благодарен.
← →
Юрий Зотов © (2006-11-12 13:30) [5]У панели канва есть. Она в protected, но классам-наследникам доступна (можно сделать доступной и НЕнаследникам). Метод Paint у панели тоже есть, там можно рисовать что угодно.
А кнопка ползает именно из-за того, что "отрисовка происходит в разное время". Это просто ляпа, такого быть не должно.
Чем не устраивают панель и TSpeedButton в качестве предков? У них обоих можно перекрыть Paint и рисовать их как угодно. Причем с гарантией того, что ползать ничего не будет.
← →
Vasiliy (2006-11-14 14:36) [6]
> Чем не устраивают панель и TSpeedButton в качестве предков?
> У них обоих можно перекрыть Paint и рисовать их как угодно.
> Причем с гарантией того, что ползать ничего не будет.
Сначала хотел возразить, но оказывается я понятия не имел о наличии у SpeedButton свойства Anchors.
Век живи, век учись :)
Пожалуй есть смысл переписать компоненты, спасибо за подсказку!
Страницы: 1 вся ветка
Форум: "Компоненты";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.049 c