![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
kodan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
Столкнулся со следующей проблемой — имеется саморисованное окно которое может произвольно перемещаться и менять свои размеры...
Пока окну не задать стиль WS_EX_LAYERED все нормально — никаких мерцаний. При включенной прозрачности и попытке использовать MoveWindow или SetWindowPos начинается мерцание части окна с краю. Никто не сталкивался с таким? ![]() |
|||
|
||||
Bogdan1024 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1436 Регистрация: 28.9.2005 Где: Киев Репутация: нет Всего: 13 |
Саморисованное - это как?
-------------------- ![]() |
|||
|
||||
kodan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
Имеется ввиду что на WM_PAINT и WM_ERASEBKGND стоят мои обработчики. |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Стандартный способ борьбы с мерцанием - рисование в буфер. При этом обработчик ERASEBGND делаешь пустым, а фон чистишь (если нужно) непосредственно перед прорисовкой.
-------------------- ... |
|||
|
||||
kodan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
Да так оно и сделано. В том то и проблема, что окно НЕ мерцает пока не установить ему стиль прозрачности... ![]() |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 33 Всего: 183 |
Тогда - не знаю... рыться в сети, наверняка эти проблемы не только у тебя...
-------------------- ... |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 7 Всего: 459 |
kodan, Саморисование с UpdateLayeredWindow? Если так, то обрабатывать WM_PAINT вообще не надо, винда переходит в другой режим рисования и занимается перерисовкой сама. Тут уже сложно на нее влиять.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
kodan |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 21.9.2006 Репутация: нет Всего: нет |
WM_PAINT обрабатывать надо, ибо при изменении размеров этого окна все его содержимое должно корректно перерисоваться. Обычный клипинг не устраивает... Должен же быть какой-то выход... ![]() ............ Кстати, может она и переходит в другой режим рисования, но WM_PAINT продолжает исправно посылать... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |