Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2020-07-26 20:47:03 ЛС | профиль | цитата
Netspirit писал(а):
То-есть, фикс заключается в том чтобы в процедуре обработки WM_PAINT вовремя остановиться в переборе parent-ов "вверх" - при достижении своей формы?

Во-первых, это было очень-очень давно. И всех подробностей кодов я не помню. Поэтому многие твои вопросы останутся без ответа.
Уж извини, тут надо брать и лопатить коды. И "двумя деньками" тут не обойдешься.

Во-вторых, в случае "нашего" KOL -- ДА. Этого фикса нам хватило. Был еще фикс с неправильным Z-order-ом, но это ерунда... Исправляется быстро, работает надежно, на другие коды влияния не имеет никакого.
И вообще, этот фикс nesco (если мне не изменяет память) сделал в первую очередь.

В современном официальном KOL все гораздо страшнее -- система рисования переделана полностью... Там очень много заморочек с регионами, и прочей лабудой. И поэтому DoubleBuffered не всегда доходит до формы.
Сообразить глючный пример для предъявы - не просто уже.
Но можно, и я это делал. Давненько, поэтому не проси у меня этот пример - у меня с тех пор пара компов накрылось уже...
И даже находил место, где вовремя остановиться в переборе parent-ов "вверх".
Помогало. Почти полностью.
Но не до конца. При каких-то хитрых манипуляциях (типа - все свернул/восстановил) глюки в рисованиях таки проявлялись.
У нас - до конца, а там - нет.
Не все досмотрел, видимо. На этом я и сдался... Типа: не боевая задача, а так - факультатив.
карма: 9

0