Ejemplo n.º 1
0
        private void DrawButton(Graphics e, mcButtonState state, mcHeaderButtons button, Rectangle rect)
        {
            Bitmap image = null;
            int    x     = 0;
            int    y     = 0;
            int    corr  = 0;

            if (Application.RenderWithVisualStyles)
            {
                VisualStyleElement element = VisualStyleElement.Button.PushButton.Normal;

                if (m_calendar.Enabled)
                {
                    if (state == mcButtonState.Hot)
                    {
                        element = VisualStyleElement.Button.PushButton.Hot;
                    }
                    else if (state == mcButtonState.Inactive)
                    {
                        element = VisualStyleElement.Button.PushButton.Disabled;
                    }
                    else if (state == mcButtonState.Pushed)
                    {
                        element = VisualStyleElement.Button.PushButton.Pressed;
                    }
                }
                else
                {
                    element = VisualStyleElement.Button.PushButton.Disabled;
                }

                VisualStyleRenderer renderer = new VisualStyleRenderer(element);
                renderer.DrawBackground(e, rect);
                switch (button)
                {
                case mcHeaderButtons.PreviousMonth:
                {
                    image = m_prevMonthVs;
                    x     = rect.Left + 5;
                    y     = rect.Top + 5;
                    break;
                }

                case mcHeaderButtons.PreviousYear:
                {
                    image = m_prevYearVs;
                    x     = rect.Left + 4;
                    y     = rect.Top + 5;
                    break;
                }

                case mcHeaderButtons.NextMonth:
                {
                    image = m_nextMonthVs;
                    x     = rect.Right - 13;
                    y     = rect.Top + 5;
                    break;
                }

                case mcHeaderButtons.NextYear:
                {
                    image = m_nextYearVs;
                    x     = rect.Right - 16;
                    y     = rect.Top + 5;
                    break;
                }
                }

                if ((m_calendar.Enabled) && (state != mcButtonState.Inactive))
                {
                    e.DrawImageUnscaled(image, new Point(x, y));
                }
                else
                {
                    ControlPaint.DrawImageDisabled(e, image, x, y, Color.Transparent);
                }
            }
            else
            {
                ButtonState btnState = ButtonState.Normal;
                if (m_calendar.Enabled)
                {
                    if (state == mcButtonState.Hot)
                    {
                        btnState = ButtonState.Normal;
                    }
                    else if (state == mcButtonState.Inactive)
                    {
                        btnState = ButtonState.Inactive;
                    }
                    else if (state == mcButtonState.Pushed)
                    {
                        btnState = ButtonState.Pushed;
                    }
                }
                else
                {
                    btnState = ButtonState.Inactive;
                }

                switch (button)
                {
                case mcHeaderButtons.PreviousMonth:
                {
                    ControlPaint.DrawScrollButton(e, rect, ScrollButton.Left, btnState);
                    break;
                }

                case mcHeaderButtons.NextMonth:
                {
                    ControlPaint.DrawScrollButton(e, rect, ScrollButton.Right, btnState);
                    break;
                }

                case mcHeaderButtons.NextYear:
                {
                    ControlPaint.DrawButton(e, rect, btnState);
                    if (state == mcButtonState.Pushed)
                    {
                        corr = 1;
                    }
                    if ((m_calendar.Enabled) && (m_nextYearBtnState != mcButtonState.Inactive))
                    {
                        e.DrawImage(m_nextYear, new Point(rect.Left + 3, rect.Top + 2 + corr));
                    }
                    else
                    {
                        e.DrawImage(m_nextYearDisabled, new Point(rect.Left + 3, rect.Top + 2 + corr));
                    }

                    break;
                }

                case mcHeaderButtons.PreviousYear:
                {
                    ControlPaint.DrawButton(e, rect, btnState);
                    if (state == mcButtonState.Pushed)
                    {
                        corr = 1;
                    }
                    if ((m_calendar.Enabled) && (m_prevYearBtnState != mcButtonState.Inactive))
                    {
                        e.DrawImage(m_prevYear, new Point(rect.Left, rect.Top + 2 + corr));
                    }
                    else
                    {
                        e.DrawImage(m_prevYearDisabled, new Point(rect.Left, rect.Top + 2 + corr));
                    }

                    break;
                }
                }
            }
        }
Ejemplo n.º 2
0
        private void DrawButton(Graphics e, mcButtonState state,mcHeaderButtons button,Rectangle rect)
        {
            Bitmap image = null;
            int x = 0;
            int y = 0;
            int corr = 0;

            if (Application.RenderWithVisualStyles)
            {
                VisualStyleElement element = VisualStyleElement.Button.PushButton.Normal;

                if (m_calendar.Enabled)
                {
                    if (state == mcButtonState.Hot)
                        element = VisualStyleElement.Button.PushButton.Hot;
                    else if (state == mcButtonState.Inactive)
                        element = VisualStyleElement.Button.PushButton.Disabled;
                    else if (state == mcButtonState.Pushed)
                        element = VisualStyleElement.Button.PushButton.Pressed;
                }
                else element = VisualStyleElement.Button.PushButton.Disabled;

                VisualStyleRenderer renderer = new VisualStyleRenderer(element);
                renderer.DrawBackground(e, rect);
                switch (button)
                {
                    case mcHeaderButtons.PreviousMonth:
                    {
                        image = m_prevMonthVs;
                        x = rect.Left + 5;
                        y = rect.Top + 5;
                        break;
                    }
                    case mcHeaderButtons.PreviousYear:
                    {
                        image = m_prevYearVs;
                        x = rect.Left + 4;
                        y = rect.Top + 5;
                        break;
                    }
                    case mcHeaderButtons.NextMonth:
                    {
                        image = m_nextMonthVs;
                        x = rect.Right - 13;
                        y = rect.Top + 5;
                        break;
                    }
                    case mcHeaderButtons.NextYear:
                    {
                        image = m_nextYearVs;
                        x = rect.Right - 16; 
                        y = rect.Top + 5;
                        break;
                    }
                
                }
                
                if ((m_calendar.Enabled) && (state!=mcButtonState.Inactive))  
                    e.DrawImageUnscaled(image, new Point(x,y));
                else
                    ControlPaint.DrawImageDisabled(e, image, x, y, Color.Transparent);
                
            }
            else
            {
                ButtonState btnState = ButtonState.Normal;
                if (m_calendar.Enabled)
                {
                    if (state == mcButtonState.Hot)
                        btnState = ButtonState.Normal;
                    else if (state == mcButtonState.Inactive)
                        btnState = ButtonState.Inactive;
                    else if (state == mcButtonState.Pushed)
                        btnState = ButtonState.Pushed;
                }
                else btnState = ButtonState.Inactive;

                switch (button)
                {
                    case mcHeaderButtons.PreviousMonth:
                    {
                        ControlPaint.DrawScrollButton(e, rect, ScrollButton.Left, btnState);
                        break;
                    }
                    case mcHeaderButtons.NextMonth:
                    {
                        ControlPaint.DrawScrollButton(e, rect, ScrollButton.Right, btnState);
                        break;
                    }
                    case mcHeaderButtons.NextYear:
                    {

                        ControlPaint.DrawButton(e, rect, btnState);
                        if (state == mcButtonState.Pushed)
                            corr = 1;
                        if ((m_calendar.Enabled) && (m_nextYearBtnState != mcButtonState.Inactive))
                            e.DrawImage(m_nextYear, new Point(rect.Left + 3, rect.Top + 2 + corr));
                        else
                            e.DrawImage(m_nextYearDisabled, new Point(rect.Left + 3, rect.Top + 2 + corr));
                
                        break;
                    }
                    case mcHeaderButtons.PreviousYear:
                    {

                        ControlPaint.DrawButton(e, rect, btnState);
                        if (state == mcButtonState.Pushed)
                            corr = 1;
                        if ((m_calendar.Enabled) && (m_prevYearBtnState != mcButtonState.Inactive))
                            e.DrawImage(m_prevYear, new Point(rect.Left, rect.Top + 2 + corr));
                        else
                            e.DrawImage(m_prevYearDisabled, new Point(rect.Left, rect.Top + 2 + corr));  
                
                        break;
                    }
                }
                
            }
        }