如题,一棵树,有很多节点,有垂直滚动条,当我SELECTITEM选中某个节点时,如何使这个选中的节点处于显示区域的中间位置?

解决方案 »

  1.   

    谢谢楼上
    int   nVScrollDir   =   -1;   
      if   (   往下滚动   )   
      nVScrollDir   =   SB_LINEDOWN;   
      if   (   往上滚动   )   
      nVScrollDir   =   SB_LINEUP;   
      if   (   nVScrollDir   !=   -1   )     
      {   
                        int   nScrollPos   =   pWnd->GetScrollPos(SB_VERT);   
      WPARAM   wParam   =   MAKELONG(nVScrollDir,   nScrollPos);   
                        //pWnd是treectrl的window指针   
      pWnd->SendMessage(WM_VSCROLL,   wParam);   
      }   
      横向滚动   
      int   nHScrollDir   =   -1;   
      if   (   往左滚动   )   
      nHScrollDir   =   SB_LINELEFT;   
      if   (   往右滚动   )   
      nHScrollDir   =   SB_LINERIGHT;   
      if   (   nHScrollDir   !=   -1   )     
      {   
      int   nScrollPos   =   pWnd->GetScrollPos(SB_VERT);   
      WPARAM   wParam   =   MAKELONG(nHScrollDir,   nScrollPos);   
      pWnd->SendMessage(WM_HSCROLL,   wParam);   
      }结帖