Когда вызывается функция IVideoWindow :: put_Visible (), она извлекает сообщение из очереди сообщений и отправляет его. Это полностью портит последовательность вызовов.
Я исправил несколько сбоев, вызванных этим, в зависимости от случая. То есть установить флаг перед вызовом put_Visible () и затем очистить флаг. А в обработчике событий сначала проверьте флаг, если он установлен, поместите событие обратно в очередь сообщений и выйдите из обработчика событий (т.е. отложите обработку до возврата put_Visible (). Проблема в том, что моя база кода слишком велика и этот метод не выдерживает.
Есть ли способ просто изменить поведение put_Visible (), чтобы он не мешал очереди сообщений и диспетчеризации?