Вверх ↑
Ответов: 9906
Рейтинг: 351
#1: 2020-07-26 10:14:12 ЛС | профиль | цитата
Выстрел наугад: замени "штатный" KOL на "правильный"

Обещать ничего невозможно, поскольку понять содержимое стартового поста - также невозможно же.
Только угадывать...

Информация для фантазеров

Штатный KOL эмулирует прозрачности (типовое у нас, это Label.Transparent=true) буферизацией отрисовки контролов (персональная обработка WM_PAINT) -- устанавливает TControl.DoubleBuffered=true.
Т.е., вместо прозрачной Label - рисуется текст в контексте буферной картинки парента. А тот, аналогичным образом - в контексте буферной картинки своего парента. И так - до упора. Когда эта буферная картинка выкидывается просто на экран (в смысле - отрисовывается в контексте визуального контрола).
Проблема в том, что этот "упор" в штатном KOL определяется неправильно. По правильному - это просто форма. А в штатном -- у него и owner, тоже parent. Типа, начинает рисовать контролы дочерней формы в буфере главной формы....
Именно таким вот образом -- у нас когда-то на дочерних формах всякая хрень и получалась.
Очень давно это было, деталей уже не помню.

Обращаю внимание, что слово штатный -- я писал уже без кавычек.
Потому-что и сегодня официальный KOL содержит этот глюк (насколько мне известно).
Это так, для мечтателей... Типа вот: супер новый FPC, очень официальный KOL -- и будет полная икебана!
Фигушки вам. Попробуйте сначала Кладова убедить исправить этот глюк (без введения новых), а потом мечтайте
У меня не получилось.
карма: 9

0
Редактировалось 10 раз(а), последний 2020-07-26 14:41:23