Сообщение окна аэродинамического встряхивания MFC

Я работаю над программой, встроенной в MFC.

У меня такая странная ситуация, когда я качаю свой CFormView. В первый раз все сводится к минимуму правильно, но когда я встряхиваю его во второй раз, когда все окна восстанавливаются, один из моих CDialog внутри CFormView уходит назад, но он должен быть впереди.

Как я могу поймать событие второй встряски? Какое сообщение он отправляет на мой CDialog?

Могу ли я указать это на своей карте сообщений?

Я ничего не нашел об этом в Интернете.


person eladyanai    schedule 07.08.2011    source источник
comment
Я предполагаю, что ваш CDialog не устанавливает CFormView в качестве hwndOwner. Если два окна не связаны отношениями владелец / владелец, то нет требования, чтобы одно отображалось над другим. Чтобы обеспечить порядок между окнами, используйте цепочку владельцев.   -  person Raymond Chen    schedule 22.08.2011


Ответы (1)


я нашел свое решение.

я не нашел ни одного сообщения, на которое можно было бы указать пальцем, кроме моей функции "MoveDialog"

Я использовал: SetWindowPos(&wndNoTopMost,x,y,cx,cy,SWP_NOSIZE|SWP_SHOWWINDOW);

& WndNoTopMost от MSDN:

wndNoTopMost Перемещает окно в верхнюю часть всех не самых верхних окон (то есть позади всех самых верхних окон). Этот флаг не действует, если окно уже не является верхним окном.

и вот как я решил свою проблему!

Спасибо!

person eladyanai    schedule 10.08.2011