В нашем приложении у нас есть диалоговое окно MFC, которое открывается и обрабатывает некоторые данные, необходимые для отображения. Следовательно, обработка инициируется лениво внутри события OnPaint (). Обработка
занимает некоторое время (около 20-30 секунд) и является исключительно алгоритмическим (API-интерфейс не вызывается).
Случается так, что иногда после завершения обработки окно «исчезает». Мы обнаружили, что он перенесен за родительское окно (основной кадр).
Вызов SetForegroundWindow () сразу после завершения обработки или выполнение обработки в потоке, не являющемся пользовательским интерфейсом (позволяющим OnPaint () завершиться в разумные сроки), устранило проблему.
Известна ли эта проблема? Есть ли определенный срок для выполнения OnPaint ()?
Спасибо
Alex.