程序载入了一张图片,比窗口大,比如图片是1000*2000,窗口是500*700的话,怎么设置滚动条的范围,让滚动条滚到末端的时候,刚好也是图片的末端?
如果设置垂直滚动条的SCROLLINFO中的nMax为1000的话:
sizeTotal.cy = 1000;
...
SetScrollSizes(MM_TEXT, sizeTotal);
这样程序运行时滚动条滚动到末端,设断点知道nPos=1000,但这时候滚动的位置实际上比图片大
请问这是为什么呢,nMax应该设置为多少呢
如果设置垂直滚动条的SCROLLINFO中的nMax为1000的话:
sizeTotal.cy = 1000;
...
SetScrollSizes(MM_TEXT, sizeTotal);
这样程序运行时滚动条滚动到末端,设断点知道nPos=1000,但这时候滚动的位置实际上比图片大
请问这是为什么呢,nMax应该设置为多少呢
si.cbSize = sizeof( SCROLLINFO );
si.fMask = SIF_DISABLENOSCROLL | SIF_PAGE | SIF_POS | SIF_RANGE;
si.nMin = 0;
si.nMax = Width - 1;
si.nPage = 1
si.nPos = xx;
试试这个吧,不知道你那个是怎么算的,我这边也用,就这么操作一下就行了。
si.nMax = Width - 1;
width代表什么
SetScrollSizes(MM_TEXT, CSize(1000,2000));