CWnd::SetScrollInfo()函数到底怎么设置???

dragon17162 dragon17162 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
翻遍了互联网,就是找不到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); //此函数将产生一个水平滚动条

huzhanrong

MFC自绘lib ,节省自己重载繁琐函数的时间

实现基于MFC,基于对话框,框架的自绘类,方便开发,系统滚动条美化等

nicklisir

【滚动条CScrollBar】控件应用第十三课

【滚动条CScrollBar】控件应用第十三课,本篇讲述滚动条的应用,对话框添加滚动条

gymsaga

VC++滚动条实例,向左向右拖动

内容索引:VC/C++源码,界面编程,滚动条  VC++滚动条实例,向左向右拖动,可通过设置滚动步长来查看滚动效果,初级实例,不过挺实用,很多地方我们都要用到滚动条。

weixin_38506103

MFC中滚动条的实现

实现了读取图像,当图像查过一定范围后,出现滚动条。

ZhaoxianL
评论 6
收藏 已收藏
分享
返回顶部
dragon17162
VC/MFC 16,550 成员 421,606 内容