1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | GetDlgItem(IDC_STATIC1)->GetWindowRect(m_rect); ScreenToClient(m_rect); m_rect1 = m_rect; void CScrollDlgDlg::OnVScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { SCROLLINFO scrollinfo; GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); switch (nSBCode) { case SB_LINEUP: scrollinfo.nPos -= 1; if (scrollinfo.nPos <scrollinfo.nMin) { scrollinfo.nPos = scrollinfo.nMin; break ; } SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); m_rect1.top+= 10; m_rect1.bottom+=10; ScrollWindow(0,+10,m_rect,m_rect1); UpdateWindow(); // ScrollWindow(0,10); break ; case SB_LINEDOWN: scrollinfo.nPos += 1; if (scrollinfo.nPos> scrollinfo.nMax) { scrollinfo.nPos = scrollinfo.nMax; break ; } SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); m_rect1.top-= 10; m_rect1.bottom-=10; ScrollWindow(0,-10,m_rect,m_rect1); UpdateWindow(); break ; } CDialog::OnVScroll(nSBCode, nPos, pScrollBar); } |
联系客服