ScrollBar

1:滚动对话框内容,SetScrollInfo窗口句柄为对话框的

初始化:

ScrollInfo.cbSize = sizeof(SCROLLINFO);

ScrollInfo.fMask = SIF_RANGE|SIF_POS|SIF_PAGE;

ScrollInfo.nMin = 0;

ScrollInfo.nMax = 300;

ScrollInfo.nPage = 60;

ScrollInfo.nPos = 0;            

SetScrollInfo(hDlg, SB_VERT, &ScrollInfo, TRUE);  

 

void OnVScroll(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

     int nScrollCode = (int)LOWORD(wParam);   

     SCROLLINFO ScrollInfo;

     static int nNewPos=0;

     int nOldTop = nNewPos;

    

     memset(&ScrollInfo,0,sizeof(ScrollInfo));

     ScrollInfo.cbSize = sizeof(SCROLLINFO);

     ScrollInfo.fMask = SIF_PAGE|SIF_POS|SIF_RANGE|SIF_TRACKPOS;

     GetScrollInfo(hWnd, SB_VERT, &ScrollInfo);

 

     switch (nScrollCode)   {

         case SB_LINEUP:

              nNewPos -= 75;

              break;

         case SB_PAGEUP:

              nNewPos -= 75;

              break;

         case SB_LINEDOWN:

              nNewPos += 75;

              break;

         case SB_PAGEDOWN:

              nNewPos += 75;

              break;

         case SB_TOP:

              nNewPos = ScrollInfo.nMin;

              break;

         case SB_BOTTOM:

              nNewPos = ScrollInfo.nMax-1;

              break;       

         case SB_THUMBPOSITION:

              nNewPos = ScrollInfo.nTrackPos;

              break;

         case SB_THUMBTRACK:

         case SB_ENDSCROLL:

              return;

              break;

     }   

    

     if(nNewPos < ScrollInfo.nMin)

         nNewPos = ScrollInfo.nMin;

     else if(nNewPos >= ScrollInfo.nMax)

         nNewPos = ScrollInfo.nMax -1;   

 

 

     if(nOldTop == nNewPos)

         return;

 

     ScrollInfo.cbSize = sizeof(SCROLLINFO);

     ScrollInfo.fMask = SIF_RANGE|SIF_POS|SIF_PAGE;

     ScrollInfo.nPos = nNewPos;

     ScrollInfo.nMin = 0;

     ScrollInfo.nMax = 300;

     ScrollInfo.nPage = 60;

     SetScrollInfo(hWnd, SB_VERT, &ScrollInfo, TRUE);

     ScrollWindowEx(hWnd,0, nOldTop-nNewPos, NULL, NULL,NULL, NULL, SW_SCROLLCHILDREN);

    

}

 

 2:滚动条控件,将SetScrollInfo的参数设为SB_CTL

 

3:SetScrollRange,将参数nMinPos,nMaxPos设为0,则可将滚动条隐藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值