两个滚动条,分别单击滚动条向上或向下的箭头按钮,滚动条上的滚动快向上或向下移动一格,遍及框中的数字加1或减1.下面为代码,可是只有第一个滚动条能行,第二个滚动条没反应!!!
void CScrollBarDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
char sPos[10];
int iPos;
if(pScrollBar== &m_Scrollbar)
{
switch(nSBCode)
{
case SB_THUMBTRACK:
m_Scrollbar.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
case SB_LINEDOWN:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos+1;
if(iPos>20)
iPos=20;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_LINEUP:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos-1;
if(iPos<0)
iPos=0;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_PAGEDOWN:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos+4;
if(iPos>20)
iPos=20;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_PAGEUP:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos-4;
if(iPos<0)
iPos=0;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
}
}
if(pScrollBar ==&m_Scrollbar1)
{
switch(nSBCode)
{
case SB_THUMBTRACK:
m_Scrollbar1.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
case SB_LINEDOWN:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos+1;
if(iPos>20)
iPos=20;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_LINEUP:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos-1;
if(iPos<0)
iPos=0;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_PAGEDOWN:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos+4;
if(iPos>20)
iPos=20;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_PAGEUP:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos-4;
if(iPos<0)
iPos=0;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
}
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
void CScrollBarDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
char sPos[10];
int iPos;
if(pScrollBar== &m_Scrollbar)
{
switch(nSBCode)
{
case SB_THUMBTRACK:
m_Scrollbar.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
case SB_LINEDOWN:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos+1;
if(iPos>20)
iPos=20;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_LINEUP:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos-1;
if(iPos<0)
iPos=0;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_PAGEDOWN:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos+4;
if(iPos>20)
iPos=20;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
case SB_PAGEUP:
iPos=m_Scrollbar.GetScrollPos();
iPos=iPos-4;
if(iPos<0)
iPos=0;
m_Scrollbar.SetScrollPos(iPos);
itoa(m_Scrollbar.GetScrollPos(),sPos,10);
m_Edit.SetSel(0,-1);
m_Edit.ReplaceSel(sPos);
break;
}
}
if(pScrollBar ==&m_Scrollbar1)
{
switch(nSBCode)
{
case SB_THUMBTRACK:
m_Scrollbar1.SetScrollPos(nPos);
itoa(nPos,sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
case SB_LINEDOWN:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos+1;
if(iPos>20)
iPos=20;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_LINEUP:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos-1;
if(iPos<0)
iPos=0;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_PAGEDOWN:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos+4;
if(iPos>20)
iPos=20;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
case SB_PAGEUP:
iPos=m_Scrollbar1.GetScrollPos();
iPos=iPos-4;
if(iPos<0)
iPos=0;
m_Scrollbar1.SetScrollPos(iPos);
itoa(m_Scrollbar1.GetScrollPos(),sPos,10);
m_Edit1.SetSel(0,-1);
m_Edit1.ReplaceSel(sPos);
break;
}
}
CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货