Sunwayking

导航

解决"SDI窗口中,将VIEW设置为CFormView后,导致主窗口无法恢复上一次关闭时的大小"的问题[原创]

我不得不说,这个问题甚至可以称作BUG,因为它源于MS的一个非常殷勤,非常自作主张,非常不合理的一个默认设置.这个设置默认启用,而且启用后,你会看到SDI主窗体在加载时有一个奇妙的大小变化,一切是那么明显,于是美丽的东西就变得丑恶起来...恶心到了极点!

或许是我对MFC所知不深,但是我确实花费了不少时间来找到这两句该死的代码,他们隐藏的太狡猾了:

 

void CTestView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
//没错,相信你的眼睛,就是下面这两行代码了,干掉他们就能达到你的目的!
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
}

 

看看吧,可恶的MS把这两行代码隐藏到View类中去了,而我却去App类里翻了半天...不知道是我的智慧不够还是MS的智慧太高超,总之这一次我又被MS SM了o(╯□╰)o

posted on 2009-12-05 23:41  Sunwayking  阅读(503)  评论(0编辑  收藏  举报