Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
3-38130
kkostik
2003-01-28 14:27
2003.02.13
Как бороться со снятием задачи


14-38470
werr
2003-01-30 17:52
2003.02.13
сколько взять за прогу?


1-38269
vlv
2003-02-05 16:21
2003.02.13
Проблемы с загрузкой строки из ресурсов exe


1-38167
anbezr
2003-02-04 15:48
2003.02.13
Цвет кнопки


3-38019
Sirus
2003-01-29 07:29
2003.02.13
Как вместо сообщения об ошибке выдать свое сообщение???





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский