Вниз
Скачать: CL | DM;

Как отработать 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
15-1193210809
Pweq
2007-10-24 11:26
2007.11.25
Как как будет по-английски


15-1192812559
NeiL's
2007-10-19 20:49
2007.11.25
Книги по ООП


11-1178207444
Даддитс
2007-05-03 19:50
2007.11.25
KOLReport и Grush


11-1163342104
Ned
2006-11-12 17:35
2007.11.25
Отцентровать изображение


2-1193993515
vl
2007-11-02 11:51
2007.11.25
Добавление данных в таблицу




   Наверх