Пример #1
0
        public override void OnMousePress(MouseEvent me)
        {
            int mx = me.X - Position.X;
            int my = me.Y - Position.Y;

            if (Dragable)
            {
                if (tittleBar.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(tittleBar, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    tittleBar.ProcessMousePressed(ev);
                    return;
                }
            }
            if (Resizable)
            {
                if (borderUpLeft.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderUpLeft, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderUpLeft.ProcessMousePressed(ev);
                    return;
                }
                else if (borderUpRight.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderUpRight, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderUpRight.ProcessMousePressed(ev);
                    return;
                }
                else if (borderUp.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderUp, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderUp.ProcessMousePressed(ev);
                    return;
                }
                else if (borderLeft.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderLeft, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderLeft.ProcessMousePressed(ev);
                    return;
                }
                else if (borderRight.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderRight, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderRight.ProcessMousePressed(ev);
                    return;
                }
                else if (borderBottomLeft.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderBottomLeft, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderBottomLeft.ProcessMousePressed(ev);
                    return;
                }
                else if (borderBottom.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderBottom, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderBottom.ProcessMousePressed(ev);
                    return;
                }
                else if (borderBottomRight.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(borderBottomRight, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    borderBottomRight.ProcessMousePressed(ev);
                    return;
                }
            }
            foreach (Component ele in childList)
            {
                if (ele.IsIn(mx, my))
                {
                    MouseEvent ev = new MouseEvent(ele, (int)EMouseEventTypes.MOUSE_PRESSED,
                                                   mx, my, me.MouseButton);
                    ele.ProcessMousePressed(ev);
                    break;
                }
            }
        }