主窗口、分割窗口的大小
主窗口的大小是在 *App::InitInstance() 中实现的;
分割窗口是在 CMainFrame::OnCreateClient(...) 中实现的。
我发现 CMainFrame先生成,CMainFrame::OnCreateClient(...) 对默认的主窗口进行分割。
然后主窗口再在 *App::InitInstance() 进行初始化。
主窗口的初始化居然在分割窗口前!
这样做产生的问题是:分割窗口和主窗口的变化不一致。比如说,
两个子窗口的比例是4:3,但是随后主窗口发生了变化,第一个子窗口的大小没有变化,第二个子窗口就是主窗口分割第一个窗口后剩下的字窗口,大小变化了,因此两个子窗口比例不再是4:3了。当显示器屏幕不一样时,这个问题会变得很严重。
我认为合理的顺序是: 主窗口先初始化 *App::InitInstance() ,规定主窗口的大小和风格;
然后在已经完成初始化的主窗口中进行分割窗口,CMainFrame::OnCreateClient(...)。
大家觉得我的理解是对的吗?以及如何解决这个问题。