在 MFC(Microsoft Foundation Classes)中,CScrollView 类确实提供了名为 SetScrollSizes 的公共方法,用于设置滚动视图的滚动范围大小。以下是该方法的语法:
void CScrollView::SetScrollSizes(int nMapMode, SIZE sizeTotal, const SIZE& sizePage, const SIZE& sizeLine);

参数说明:
  •  nMapMode:地图模式,指定滚动大小的单位,通常为 MM_TEXT。

  •  sizeTotal:SIZE 结构,表示整个滚动范围的大小。

  •  sizePage:SIZE 结构,表示一页的大小,即滚动条滑块的大小。

  •  sizeLine:SIZE 结构,表示一行或一列的大小,即按一次箭头键或滚动一次滚轮的大小。


例如,如果你希望将滚动视图的滚动范围设置为 (width, height),一页的大小设置为 (pageWidth, pageHeight),一行或一列的大小设置为 (lineWidth, lineHeight),可以使用以下代码:
CScrollView myScrollView;  // 请替换成你的实际对象名

int nMapMode = MM_TEXT;  // 通常使用 MM_TEXT 作为地图模式
SIZE totalSize = {width, height};
SIZE pageSize = {pageWidth, pageHeight};
SIZE lineSize = {lineWidth, lineHeight};

myScrollView.SetScrollSizes(nMapMode, totalSize, pageSize, lineSize);

这将设置滚动视图的滚动范围、一页的大小以及一行或一列的大小。


转载请注明出处:http://www.zyzy.cn/article/detail/22299/MFC/CScrollView