MFC: Есть ли событие, чтобы обнаружить, когда производное окно CDockablePane было открыто, либо выдвигаясь, либо показывая? - PullRequest
0 голосов
/ 15 декабря 2010

Я хочу отложить инициализацию производного окна CDockablePane, пока оно не отобразится. Если окно просто пристыковано, то WM_SHOWWINDOW довольно эффективен, но когда окно находится в AutoHideMode, WM_SHOWWINDOW непредсказуемо, и я не вижу события, которое указывает, что выдвижение закончено.

Любой совет?

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

Я выбрал решение - переопределить виртуальные методы CDockablePane::ShowPane, когда IsAutoHideMode() равно FALSE, а CDockablePane::OnSlide, когда это не так.

0 голосов
/ 16 декабря 2010

Попробуйте переопределить CDockablePane :: CheckStopSlideCondition, сохраните bSlideDirection и возвращаемое значение реализации базового класса где-нибудь

переопределите CDockablePane :: OnTimer и проверьте сохраненные значения после реализации базового класса, когда nIDEvent имеет значение AFX_AUTO_HIDE_SLIDE_OUT_EVENT: * 100*

Примечание. AFX_AUTO_HIDE_SLIDE_OUT_EVENT не задокументировано и может быть недоступно в будущих версиях MFC

...