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

Прозрачные контролы. Регионы.   Найти похожие ветки 

← →
GrEG   (2002-12-30 08:34) [0]

Доброго всем времени суток.
На форме есть некоторое количество прямоугольных компонентов, которые должны соединяться между собой прямолинейными связями. Для связей написал компонент, который реализует все необходимые мне функции за одним исключением - компоненты, находящиеся под прямоугольником в который вписана связь, становятся невидимыми, что вполне понятно.
Частично из ситуации вышел с помощью совета от королевста Delphi:
- в CreateParams для контрола добавил стиль WS_EX_TRANSPARENT;
- перекрыл заглушкой обработку сообщения WM_ERASEBKGND.
Все работает нормально, но только на первый взгляд. Дело в том, что положение и ориентация связи может изменяться в run-time. Проще говоря, мышкой можно тягать концы связи. А вот в этом перемещении как раз и кроется подвох. Если под перемещаемой связью находится какой либо компонент, то он начинает "моргать".
Есть ли выход из подобной ситуации?
Может быть есть смысл использовать регионы, каждый раз при изменении размеров и положения связи создавая новый? Тогда вся прорисовка сведется к вызовы PaintRgn.
Кто-нибуль знает насколько сильно обработка непрямоугольных регионов загружает систему.


← →
GrEG   (2002-12-30 08:36) [1]

Да, связей может быть довольно много. Это по поводу регионов.


← →
GrEG   (2002-12-30 13:29) [2]

Спасибо за внимание.
Вопрос решен. Тема закрыта.



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.018 c
14-38460
Dr.L.
2003-01-30 11:00
2003.02.13
Существует ли аналог Visual SourceSafe для Delphi ?


3-38089
Романов Р.В.
2003-01-23 22:15
2003.02.13
Не получается транзакция :(


1-38148
ef2000
2003-01-31 17:23
2003.02.13
Границы ячеек в Excel


3-38060
Yuraz
2003-01-23 18:50
2003.02.13
---|Ветка была без названия|---


14-38542
Паша
2003-01-28 16:01
2003.02.13
Инициализация полей формы (D4, Win9x)




   Наверх