近日需要在MFC中的MDI中使用带滚动条的视图。找了许久发现其实很简单
1、用基类 CScrollView 生成新视图:CNewView
2、修改MFC自动生的 CNewView::OnInitialUpdate()
原内容为:
void CNewView::OnInitialUpdate()
{
CScrollView::OnInitialUpdate();
CSize sizeTotal;
// TODO: .....
sizeTotal.cx = sizeTotal.cy = 100; // 这里设置的是默认的滚动条的大小的值
SetScrollSizes(MM_TEXT, sizeTotal); // 设置滚动条
}
因此,只需根据需要重新设置 sizeTotal 的值就可以显示和使用滚动条了。例如:
CSize sizeTotal = CSize (100, 100000);
CSize sizePage = CSize (100, 100);
CSize sizeLine = CSize (100, 10);
SetScrollSizes (MM_TEXT, sizeTotal, sizePage, sizeLine);