Есть программа на mfc, использует классы CDocument, CFrameWnd, существует возможность открепить от документа дочернее окно и сделать его независимым. В документе дочернее окно делается невидимым SetWindowLong(flags &= ~ WS_VISIBLE) и создается новое окно на десктопе. Проблема в том что во время работы, по непонятной причине, окно фрейма появляется и у него выставлен флаг WS_VISIBLE, как это происходит пока не разобрался. Ставил бряки на SetWindowLong, ShowWindow, SetWindowPos никто не устанавливает флаг видимости. Оконная процедура не получает сообoений WM_SHOWWINDOW, приходит только WM_WINDOWPOSITIONCHANGED в структуре WINDOWPOS::flags выставлен SWP_FRAMECHANGED,SWP_NOACTIVE. И это случаеться уже после того как окно стало видимым. Вопрос, каким образом можно узнать кто выставил WS_VISIBLE?