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; } } } }
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; } } } }