Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: 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 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.034 c
15-1192783300
Сама Сингулярность
2007-10-19 12:41
2007.11.25
Где пятничные задачки?


2-1194034973
неугомонный
2007-11-02 23:22
2007.11.25
scrollbar stringgrid


2-1193990430
фыва
2007-11-02 11:00
2007.11.25
Шрифты


15-1192724934
Ученик
2007-10-18 20:28
2007.11.25
Как переустановить ipaq file store?


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