CWnd::SetScrollInfo()函数到底怎么设置???
假如要显示的内容是200像素,而显示窗口只有100(这里应该是可显示区域,去掉边框还有滚动条自身的宽度),那么如何用
SetScrollInfo()函数来设置滚动条呢?不管我怎么设置,都不对!!
// 设置滚动条参数
SCROLLINFO info;
info.cbSize = sizeof( SCROLLINFO );
info.fMask = SIF_ALL;
info.nMin = 0;
info.nMax = 200 - 100;
info.nPage = 20;
info.nPos = 10;
info.nTrackPos = 0;
但是当拖动滚动条松下时,最大值总是到不了200-100,网上竟然找不到具体nMax指什么,可是这滚动条无处不在啊,几乎看到的很多软件都有用到滚动条。。。
nMax不就是要显示的内容高度 - 窗口的高度吗?
对了,我使用的是CWnd::SetScrollInfo()函数而不是WIN32 API函数!
相关推荐
MFC设置滚动条C++代码
MFC对话框实现垂直和水平滚动条,欲知道如何实现,请下载! //在OnInitDialog里添加如下代码为对话框创建一个垂直滚动条和水平滚动条 //获取窗口的大小 CRect rc; GetClientRect(&rc); const SIZE sz = { rc.right - rc.left, rc.bottom - rc.top }; //垂直滚动条 SCROLLINFO vsi; vsi.cbSize = sizeof(SCROLLINFO);//必须 vsi.fMask = SIF_PAGE | SIF_POS | SIF_RANGE; vsi.nPos = 1;//滚动条的初始位置 vsi.nMin = 0;//滚动条所能滚动的最小值 vsi.nMax = sz.cy+500; //滚动条所能滚动的最大值,可以根据实际情况设置 vsi.nPage = sz.cy;//一页的大小 SetScrollInfo(SB_VERT, &vsi, FALSE); //此函数将产生一个垂直滚动条 //水平滚动条 SCROLLINFO hsi; hsi.cbSize = sizeof(SCROLLINFO);//必须 hsi.fMask = SIF_PAGE | SIF_POS | SIF_RANGE; hsi.nPos = 1;//滚动条的初始位置 hsi.nMin = 0;//滚动条所能滚动的最小值 hsi.nMax = sz.cx+100; //滚动条所能滚动的最大值,可以根据实际情况设置 hsi.nPage = sz.cx;//一页的大小 SetScrollInfo(SB_HORZ, &hsi, FALSE); //此函数将产生一个水平滚动条
MFC自绘lib ,节省自己重载繁琐函数的时间
实现基于MFC,基于对话框,框架的自绘类,方便开发,系统滚动条美化等
【滚动条CScrollBar】控件应用第十三课
【滚动条CScrollBar】控件应用第十三课,本篇讲述滚动条的应用,对话框添加滚动条
VC++滚动条实例,向左向右拖动
内容索引:VC/C++源码,界面编程,滚动条 VC++滚动条实例,向左向右拖动,可通过设置滚动步长来查看滚动效果,初级实例,不过挺实用,很多地方我们都要用到滚动条。
MFC中滚动条的实现
实现了读取图像,当图像查过一定范围后,出现滚动条。


