这个是我添加对话框中的消息处理函数,没错误但是滚动条不起作用为什么呢?
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);
}