程序在注册表里保留了FRAME上次的状态,包括大小位置以及各工具类窗口的布局等.
解决方法有二,其中第一个简单, 第二更稳妥:
1.)在InitInstance(..)调用CleanState(_T("WorkSpace"));
2.)让MainFrame按它的习惯布局完了再调整大小, 在此之前让MainFrame不显示.关键点: WM_CREATE, WM_WINDOWPOSCHANGING
你可能还会发现FRAME有时候会闪一下, 看着不舒服, 用第二个方法同样管用.
CWnd::OnGetMinMaxInfo
或者设置view的大小后再CFrameWnd::RecalcLayout
加分告诉你