protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e)
{
if ((e.ToolStrip is ToolStrip) ||
(e.ToolStrip is ContextMenuStrip) ||
(e.ToolStrip is ToolStripDropDownMenu))
{
if (!e.Item.Enabled)
e.TextColor = _disabled;
else
{
if ((e.ToolStrip is MenuStrip) && !e.Item.Pressed && !e.Item.Selected)
e.TextColor = KCT.MenuStripText;
else if ((e.ToolStrip is StatusStrip) && !e.Item.Pressed && !e.Item.Selected)
e.TextColor = KCT.StatusStripText;
else if ((e.ToolStrip is ContextMenuStrip) && !e.Item.Pressed && !e.Item.Selected)
e.TextColor = KCT.MenuItemText;
else if ((e.ToolStrip is ToolStripDropDownMenu) && !e.Item.Pressed && !e.Item.Selected)
e.TextColor = KCT.MenuItemText;
else
e.TextColor = KCT.ToolStripText;
}
// Status strips under XP cannot use clear type because it ends up being cut off at edges
if ((e.ToolStrip is StatusStrip) && (Environment.OSVersion.Version.Major < 6))
base.OnRenderItemText(e);
else
{
using (GraphicsTextHint clearTypeGridFit = new GraphicsTextHint(e.Graphics, TextRenderingHint.ClearTypeGridFit))
base.OnRenderItemText(e);
}
}
else
base.OnRenderItemText(e);
}