
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Сообщ.
#1
,
|
|
|
Приветствую
У меня есть связка из 2 окон, когда изменяешь размеры одного, второе меняет свою позицию, при перетаскивании тоже самое. Когда это происходит окно начинает мигать (окно пустое, внутри ничего нет кроме 1 кнопки). Причем мигает не содержимое (с этим можно бороться), а само окно - границы, не происходит перерисовки окон под ним и т.д. (см. рисунок) Как с этим бороться? Прикреплённая картинка
![]() |
Сообщ.
#2
,
|
|
|
обрабатывай для окна WM_ERASEBKGND и просто возвращай оттуда не ноль.
|
Сообщ.
#3
,
|
|
|
Fireman, как я понимаю у тебя не успевает перерисоватся окно которое под твоим... если это твое окно, вызови принудительную прорисовку...
Такие артефакты довольно часто встречаются в Винде, по крайней мере я замечал это в случае, если запущен "тяжелый" процесс, а я пытаюсь работать с окном и перетаскиваю его, так активное окно перетаскивается, а те которые были под ним неуспевают перерисоватся... |
Сообщ.
#4
,
|
|
|
R-2, т.е. я могу особенно не заморачиваться?
просто мне казалось что другие программы как-то обходят это затруднение |
Сообщ.
#5
,
|
|
|
Fireman, но ведь это происходит при перетаскивании или при изменении размера окна... если так, то я в этом случае ничего не делаю.
Как я заметил у тебя, на представленной картинке, верхний рисунок "Артефакт при перетаскивании", окно на заднем фоне прорисовывает панели, но непрорисовывает клиентскую область... значит само приложение на заднем фоне ждет сообщение о перерисоке, оно будет вызвано после того как ты закончишь операцию перетаскивания или изменения размера и оно перерисуется. Вообще, по крайней мере у меня, при перетаскивании окна возникает просто рамка, и окно появляется на том месте куда я перетащил ее. Помнится мне, где-то в Винде было что-то типа "Отображать внутреннюю область при перетаскивании"... это опциональное свойство, его можно включить или выключить. По моему так... Пробовал что LuckLess советовал? Если да, то как разультат? |
Сообщ.
#6
,
|
|
|
Пробовал - очень плохо получается
поскольку задний фон не перерисовывается, появляются такие же артефакты, только уже на моем окне а не на окне над которым я веду своим овном |