15,980
社区成员
发帖
与我相关
我的任务
分享
void CHTM_MHPTopologyView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: Add your message handler code here and/or call default
if(pScrollBar == NULL)
{
CFormView::OnHScroll(nSBCode, nPos, pScrollBar);
return;
}
int pos;
pos = m_ScrollBarH.GetScrollPos();
//Scroll Bar Commands
switch(nSBCode)
{
case SB_LINEUP:
pos-=1;
break;
case SB_LINEDOWN:
pos+=1;
break;
case SB_PAGEUP:
pos-=10;
break;
case SB_PAGEDOWN:
pos+=10;
break;
case SB_TOP:
pos = 0;
break;
case SB_BOTTOM:
pos = m_picWidth-1;
break;
case SB_THUMBPOSITION:
pos = nPos;
break;
default:
return;
}
if(pos < 0)
{
pos = 0;
}
else if(pos+m_client.Width()>m_picWidth-1)
{
pos = m_picWidth-1-m_client.Width();
}
m_ScrollBarH.SetScrollPos(pos,TRUE);
m_iX = pos;
InvalidateRect(&m_picRC);
CFormView::OnHScroll(nSBCode, nPos, pScrollBar);
}
nSBCode判断类型,下面的SetScrollPos是设置新的位置CMainFrame *pFrame1= (CMainFrame*)AfxGetMainWnd(); //点击否之后的移动滚动条处理
CView *pView=pFrame1->GetActiveView();
::SendMessage(pView->m_hWnd,WM_VSCROLL,SB_THUMBPOSITION,1);
CMainFrame *pFrame1= (CMainFrame*)AfxGetMainWnd();
CView *pView=pFrame1->GetActiveView();
pView->SetScrollInfo(???)