请高手帮帮忙,VC++中对话框滚动条怎么不起作用
2个回答
2017-05-12
展开全部
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);
}
{
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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询