2010-12-15 5 views
0

Ich möchte die Initialisierung eines von CDockablePane abgeleiteten Fensters verzögern, bis das Fenster tatsächlich angezeigt wird. Wenn das Fenster einfach angedockt ist, dann ist WM_SHOWWINDOW ziemlich effektiv, aber wenn das Fenster im AutoHideMode ist, ist WM_SHOWWINDOW unvorhersehbar und ich kann kein Ereignis sehen, das anzeigt, dass der Auszug beendet wurde.MFC: Gibt es ein Ereignis zu erkennen, wenn ein CDockablePane abgeleiteten Fenster entweder durch Ausrutschen oder Anzeigen geöffnet wurde?

Irgendwelche Ratschläge?

Antwort

1

Die Lösung, die ich ausgewählt habe nicht verfügbar ist, um die virtuellen Methoden CDockablePane::ShowPane für außer Kraft zu setzen, wenn IsAutoHideMode() ist FALSE und CDockablePane::OnSlide für wenn es nicht ist.

0

Versuchen außer Kraft setzen CDockablePane :: CheckStopSlideCondition, Implementierung bSlideDirection und den Rückgabewert der Basisklasse speichern irgendwo

Überschreibung CDockablePane :: OnTimer und überprüfen Sie die gespeicherten Werte nach der Basisklassenimplementierung, wenn nIDEvent ist AFX_AUTO_HIDE_SLIDE_OUT_EVENT:

Hinweis: AFX_AUTO_HIDE_SLIDE_OUT_EVENT ist nicht dokumentiert und kann in zukünftigen Versionen von MFC

+0

Danke für die Zeit, obwohl ich denke, das ist nicht die richtige Lösung. Ich habe eine Antwort hinzugefügt. – snowdude

Verwandte Themen