예제 #1
0
 public void MouseLeave()
 {
     if (m_MouseOverPart != eScrollPart.None)
     {
         if (m_MouseDown && (m_MouseOverPart == eScrollPart.Track || m_MouseOverPart != eScrollPart.None && m_PassiveScrollBar))
             return;
         m_MouseOverPart = eScrollPart.None;
         this.Invalidate();
     }
 }
예제 #2
0
        public void MouseMove(MouseEventArgs e)
        {
            if (!m_Enabled)
                return;

            Point p = new Point(e.X, e.Y);
            if (m_MouseDown && m_MouseOverPart == eScrollPart.Track)
            {
                if (!m_PassiveScrollBar)
                {
                    // Update Track position based on mouse position...
                    int i = ValueFromMouseCoordinates(p);
                    SetValue(i, ScrollEventType.ThumbTrack);
                    //this.Value = i;
                }
                return;
            }

            if (e.Button != MouseButtons.None && m_MouseOverPart!=eScrollPart.None) return;

            if (m_DisplayRectangle.Contains(p))
            {
                eScrollPart part = eScrollPart.Control;
                if (m_ThumbDecrease.Contains(p))
                    part = eScrollPart.ThumbDecrease;
                else if (m_ThumbIncrease.Contains(p))
                    part = eScrollPart.ThumbIncrease;
                else if (m_Track.Contains(p))
                    part = eScrollPart.Track;

                if (m_MouseOverPart != part)
                {
                    m_MouseOverPart = part;
                    this.Invalidate();
                }
            }
            else if (m_MouseOverPart != eScrollPart.None)
            {
                m_MouseOverPart = eScrollPart.None;
                this.Invalidate();
            }
        }