0

我想延迟 CDockablePane 派生窗口的初始化,直到窗口实际显示。如果窗口只是停靠,那么 WM_SHOWWINDOW 非常有效,但是当窗口处于 AutoHideMode WM_SHOWWINDOW 时是不可预测的,我看不到表明滑出已完成的事件。

有什么建议吗?

4

2 回答 2

1

我选择的解决方案是覆盖虚拟方法CDockablePane::ShowPane何时IsAutoHideMode()FALSECDockablePane::OnSlide何时不是。

于 2010-12-16T10:53:22.833 回答
0

尝试覆盖 CDockablePane::CheckStopSlideCondition,将 bSlideDirection 和基类实现的返回值保存在某处

当 nIDEvent 为 AFX_AUTO_HIDE_SLIDE_OUT_EVENT 时,覆盖 CDockablePane::OnTimer 并检查基类实现后保存的值:

注意:AFX_AUTO_HIDE_SLIDE_OUT_EVENT 未记录,可能在未来版本的 MFC 中不可用

于 2010-12-15T21:52:27.453 回答