前一段时间,用到CFormView里内嵌视,当CFormView缩放时,CFormView的滚动条出现了,想去掉它。
先从网上搜罗一下,发现最接近的解决方法是将滚动条的尺寸设置很小,如CSize(20,20),滚动条出现的问题是解决了,但有出现了另一个问题,那就是新建文件或打开文件时,整个程序窗体显示只有CSize(20,20)大小,非常不方便。通过跟踪程序发现,每次新建文件或打开文件操作均会重新调用CFormView的OnInitialUpdate()函数,而这个函数调用了
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
所以重新计算布局尺寸,导致前面出现的现象。解决就显得简单多了,用一个静态变量做一个标志,只是第一次调用就可以了。
源码如下: