Exemple #1
0
        public bool MouseMoveFloatItem(MouseEventArgs e)
        {
            bool Result = true;

            if (((Control.ModifierKeys & Keys.Shift) == Keys.Shift) && (FMouseDownIndex >= 0))
            {
                HCFloatItem    vFloatItem = FFloatItems[FMouseDownIndex];
                MouseEventArgs vMouseArgs = new MouseEventArgs(e.Button, e.Clicks,
                                                               e.X - vFloatItem.Left, e.Y - vFloatItem.Top, e.Delta);
                vFloatItem.MouseMove(vMouseArgs);

                if (!vFloatItem.Resizing)
                {
                    vFloatItem.Left = vFloatItem.Left + e.X - FMouseX;
                    vFloatItem.Top  = vFloatItem.Top + e.Y - FMouseY;

                    FMouseX = e.X;
                    FMouseY = e.Y;
                }

                Style.UpdateInfoRePaint();
            }
            else  // 普通鼠标移动
            {
                int vItemIndex = GetFloatItemAt(e.X, e.Y);
                if (FMouseMoveIndex != vItemIndex)
                {
                    if (FMouseMoveIndex >= 0)
                    {
                        FFloatItems[FMouseMoveIndex].MouseLeave();
                    }

                    FMouseMoveIndex = vItemIndex;
                    if (FMouseMoveIndex >= 0)
                    {
                        FFloatItems[FMouseMoveIndex].MouseEnter();
                    }
                }

                if (vItemIndex >= 0)
                {
                    HCFloatItem    vFloatItem = FFloatItems[vItemIndex];
                    MouseEventArgs vMouseArgs = new MouseEventArgs(e.Button, e.Clicks,
                                                                   e.X - vFloatItem.Left, e.Y - vFloatItem.Top, e.Delta);
                    vFloatItem.MouseMove(vMouseArgs);
                }
                else
                {
                    Result = false;
                }
            }

            return(Result);
        }