Да, смотрится коряво. Команда rm2pm решает проблему лишь частично - у меня, например, при возврате в полный режим строка пикселей под кнопками дисков не обновляется.
Но с новой функцией redraw() всё перерисовывается корректно.
Flasher писал(а):Не понял, как моя запись противоречит этому?
У тебя в каждом действии - show и hide - в конце вызывается rm1pm. Это пустая трата времени, т.к. эффекта от её вызова никто никогда не увидит - рисование на окне в этот момент запрещено. А вызов rm1pm после снятия блокировки у тебя написан правильно.
А, ну так и пиши. Я уже убирал вчера на конце этих действий rm1pm. Просто тут привёл свои исходные записи.
Кстати, у меня после переоткрытия ТС вдруг заработало как надо, без глюков (кроме приведённой строки пикселей), причём скорость возросла, довольно шустро стало.
Как вариант, можно вместо locktc(1) вызывать show(0), а вместо locktc(0) - show(3). Конечно, окно будет исчезать, зато будет появляться без глюков, и перерисовывать не придётся вручную.
MVV
Нет, это плохая идея.
1) Исчезание (мерцание) окна само по себе воспринимается как глюк. И в данном случае ничем не лучше исходного варианта.
2) Эти команды рушат текущие размеры окна после снятия режима восстановления, который в моём случае постоянен.