MFC: Y at-il un événement pour détecter lorsqu'une fenêtre dérivée CDockablePane a été ouverte, soit en faisant glisser ou de montrer?
-
10-10-2019 - |
Question
Je veux retarder l'initialisation d'une fenêtre dérivée CDockablePane jusqu'à ce que la fenêtre est réellement affichée. Si la fenêtre est simplement accosté alors WM_SHOWWINDOW est assez efficace, mais lorsque la fenêtre est en AutoHideMode WM_SHOWWINDOW est imprévisible et je ne vois pas un événement qui indique que la lame out est terminé.
Un conseil?
La solution
La solution que j'ai choisi est de remplacer les méthodes virtuelles CDockablePane::ShowPane
quand IsAutoHideMode()
est FALSE
et CDockablePane::OnSlide
quand ce n'est pas.
Autres conseils
Essayez override CDockablePane :: CheckStopSlideCondition, sauvegarde bSlideDirection et la valeur de retour de la mise en œuvre de la classe de base quelque part
surchargent CDockablePane :: OnTimer et vérifier les valeurs enregistrées après la mise en œuvre de la classe de base lorsque nIDEvent est AFX_AUTO_HIDE_SLIDE_OUT_EVENT:
Note: AFX_AUTO_HIDE_SLIDE_OUT_EVENT n'est pas documenté et peut ne pas être disponible dans les versions futures de MFC