首页 新闻 会员 周边

请高手帮帮忙,VC++中对话框滚动条怎么不起作用?

0
悬赏园豆:20 [已关闭问题]

这个是我添加对话框中的消息处理函数,没错误但是滚动条不起作用为什么呢? 

BOOL CPowerViewDlg::OnInitDialog()
{
    CDialog::OnInitDialog();
 //对话框水平滚动条和垂直滚动条实现
   CRect rt;
   GetClientRect(&rt);
   SetScrollRange(SB_VERT,0,rt.Height());//如果没有Vscrollbar可以去掉此行
   SetScrollRange(SB_HORZ,0,rt.Width());//如果没有Hscrollbar可以去掉此行

   return TRUE;
}


void CPowerViewDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: Add your message handler code here and/or call default
 switch(nSBCode)
  {
       case SB_ENDSCROLL:
            break;
       case SB_LINEUP:
            SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)-1,TRUE);
            break;
       case SB_LINEDOWN:
            SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)+1,TRUE);
              break;
       case SB_PAGEUP:
           SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)-10,TRUE);
            break;
       case SB_PAGEDOWN:
            SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)+10,TRUE);
            break;
       case SB_TOP:
            SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)-5,TRUE);
             break;
       case SB_BOTTOM:
            SetScrollPos(SB_VERT,GetScrollPos(SB_VERT)+5,TRUE);
             break;
       case SB_THUMBPOSITION:
            SetScrollPos(SB_VERT,nPos,TRUE);
             break;
       case SB_THUMBTRACK:
             SetScrollPos(SB_VERT,nPos,TRUE);
             break;
             default:
            break;
  }
 
 CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}


void CPowerViewDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
 // TODO: Add your message handler code here and/or call default
  switch(nSBCode)
  {
       case SB_ENDSCROLL:
            break;
       case SB_LINELEFT:
            SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)-1,TRUE);
            break;
       case SB_LINERIGHT:
            SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)+1,TRUE);
              break;
       case SB_PAGELEFT:
           SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)-10,TRUE);
            break;
       case SB_PAGERIGHT:
            SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)+10,TRUE);
            break;
       case SB_LEFT:
            SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)-5,TRUE);
             break;
       case SB_RIGHT:
            SetScrollPos(SB_HORZ,GetScrollPos(SB_HORZ)+5,TRUE);
             break;
       case SB_THUMBPOSITION:
            SetScrollPos(SB_HORZ,nPos,TRUE);
             break;
       case SB_THUMBTRACK:
             SetScrollPos(SB_HORZ,nPos,TRUE);
             break;
             default:
            break;
  }

 
  CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

阿Q他爹的主页 阿Q他爹 | 初学一级 | 园豆:180
提问于:2010-07-19 17:13
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册