我不用nPos的值控制滚动的话(用自己的值),又没办法解决往上和往下滚的不同情况
哎....请教了

解决方案 »

  1.   

    WIN9x下很多不是真正的32位的比如滚动条你可以使用SCROLLINFO来支持32位的滚动。先看看MSDN的例子,如仍有不明,可以发短信给我,我也许可以帮帮你。
      

  2.   

    用SetScrollInfo()而不是SetScrollPos(),就没有32767的问题.
      

  3.   

    你的  pos  1 代表10, 或 100  或更大,自己在SETPOS 时做一下转换就可以了
    比如你的 range 有 1000000000000    那么你的  scroll 的 range 不一定要在 1 - 1000000000000  中,自己做一个中间转换的函数,也可以说加一个系数吧
      

  4.   

    呵呵,没这么复杂吧
    我是这么写的
    OnChangeEditFreesize() {
    m_nEditInt=GetDlgItemInt(IDC_EDIT_INT);
    ((CSpinButtonCtrl*)GetDlgItem(IDC_SPIN_SPACE))->SetPos(1);}OnVScroll{
    long pos=m_nEditInt+nPos-1;
    strValue.Format("%d",pos);
    ((CSpinButtonCtrl*)pScrollBar)->GetBuddy()
                               ->SetWindowText(strValue);
      

  5.   

    我记得进度条有一条消息PBM_SETRANGE32,可以设置32位的范围,你可以看一下微调按钮是否也有类似的消息。