private void SetButtonsColorTable() { Office2007ColorTable expr_0F = ((Office2007Renderer)GlobalManager.get_Renderer()).get_ColorTable(); Office2007ButtonItemColorTable expr_1B = expr_0F.get_ButtonItemColors().get_Item(0); expr_1B.MouseOver.Background = new LinearGradientColorTable(Color.Gainsboro); expr_1B.MouseOver.OuterBorder = new LinearGradientColorTable(Color.Gainsboro); expr_1B.MouseOver.InnerBorder = new LinearGradientColorTable(Color.Gainsboro); Office2007ButtonItemColorTable expr_78 = expr_0F.get_ButtonItemColors().get_Item(Enum.GetName(typeof(eButtonColor), 0)); expr_78.Pressed.OuterBorder = new LinearGradientColorTable(Color.FromArgb(40, 0, 0, 0)); expr_78.Pressed.InnerBorder = new LinearGradientColorTable(Color.White); expr_78.Pressed.Background = new LinearGradientColorTable(Color.FromArgb(255, 68, 91, 114)); expr_78.MouseOver.OuterBorder = new LinearGradientColorTable(Color.FromArgb(40, 0, 0, 0)); expr_78.MouseOver.InnerBorder = new LinearGradientColorTable(Color.White); expr_78.MouseOver.Background = new LinearGradientColorTable(Color.FromArgb(255, 56, 76, 100)); }
/// <summary> /// Adds the ControlBox color scheme table to the system /// </summary> private void AddControlBoxColorTable() { if (GlobalManager.Renderer is Office2007Renderer) { // Create custom color scheme for the button and register it globally Office2007ButtonItemColorTable table = new Office2007ButtonItemColorTable(); table.Name = "ControlBoxColorTable"; // Define standard colors when mouse is not over the button table.Default = new Office2007ButtonItemStateColorTable(); // Define colors when mouse is over the button Color outer = Color.FromArgb(0xFF, 0xBD, 0x69); Color back = Color.FromArgb(0xFF, 0xE7, 0xA2); table.MouseOver = new Office2007ButtonItemStateColorTable(); table.MouseOver.OuterBorder.Start = outer; table.MouseOver.OuterBorder.End = outer; table.MouseOver.TopBackground.Start = back; table.MouseOver.TopBackground.End = back; table.MouseOver.BottomBackground.Start = back; table.MouseOver.BottomBackground.End = back; // Define colors when mouse is pressed back = Color.FromArgb(0xFB, 0x8C, 0x3C); table.Pressed = new Office2007ButtonItemStateColorTable(); table.Pressed.OuterBorder.Start = outer; table.Pressed.OuterBorder.End = outer; table.Pressed.TopBackground.Start = back; table.Pressed.TopBackground.End = back; table.Pressed.BottomBackground.Start = back; table.Pressed.BottomBackground.End = back; Office2007Renderer r = GlobalManager.Renderer as Office2007Renderer; r.ColorTable.ButtonItemColors.Add(table); } }
private static void CreateCustomRedColor() { try { Trace.WriteVerbose("", Trace.GetMethodName(), CLASSNAME); var renderer = GlobalManager.Renderer as Office2007Renderer; var table = new Office2007ButtonItemColorTable { Name = RED_COLOR_NAME }; var defaultTable = new Office2007ButtonItemColorTable(); switch (GlobalManager.Renderer) { case Office2007Renderer _ when renderer?.ColorTable.ButtonItemColors.Contains(table.Name) == true: Trace.WriteVerbose("CustomStyle already added", "CreateCustomRedColor", CLASSNAME); return; case Office2007Renderer _ when renderer?.ColorTable.ButtonItemColors.Contains(DEFAULT_COLOR_TABLE_NAME) == true: Office2007ButtonItemColorTable[] tables = new Office2007ButtonItemColorTable[renderer.ColorTable.ButtonItemColors.Count]; renderer.ColorTable.ButtonItemColors.CopyTo(tables, 0); defaultTable = tables.First(t => t.Name == DEFAULT_COLOR_TABLE_NAME); break; case Office2007Renderer _: Trace.WriteError("DefaultColorTableName {0} does not exist, some button states can show inconsistent behaviour", Trace.GetMethodName(), CLASSNAME, DEFAULT_COLOR_TABLE_NAME); break; } table.Checked = defaultTable.Checked; table.Disabled = defaultTable.Disabled; table.Expanded = defaultTable.Expanded; table.MouseOverSplitInactive = defaultTable.MouseOverSplitInactive; // Define standard colors when mouse is not over the button table.Default = new Office2007ButtonItemStateColorTable { OuterBorder = { Start = ColorTranslator.FromHtml("#FF6060"), End = ColorTranslator.FromHtml("#FF3F3F") }, TopBackground = { Start = ColorTranslator.FromHtml("#FF2626"), End = ColorTranslator.FromHtml("#E10F0F") }, BottomBackground = { Start = ColorTranslator.FromHtml("#E10F0F"), End = ColorTranslator.FromHtml("#830F0F") }, BottomBackgroundHighlight = { Start = ColorTranslator.FromHtml("#FF6060"), End = Color.Transparent }, Text = Color.AntiqueWhite }; //// Define colors when mouse is over the button table.MouseOver = new Office2007ButtonItemStateColorTable { OuterBorder = { Start = ColorTranslator.FromHtml("#FF9760"), End = ColorTranslator.FromHtml("#FF813E") }, TopBackground = { Start = ColorTranslator.FromHtml("#FF7024"), End = ColorTranslator.FromHtml("#E8580B") }, BottomBackground = { Start = ColorTranslator.FromHtml("#E8580B"), End = ColorTranslator.FromHtml("#893A10") }, BottomBackgroundHighlight = { Start = ColorTranslator.FromHtml("#FF9760"), End = Color.Transparent }, Text = Color.AntiqueWhite }; //// Define colors when mouse is pressed table.Pressed = new Office2007ButtonItemStateColorTable { OuterBorder = { Start = ColorTranslator.FromHtml("#FFBE60"), End = ColorTranslator.FromHtml("#FFB13E") }, TopBackground = { Start = ColorTranslator.FromHtml("#FFA624"), End = ColorTranslator.FromHtml("#E88E0B") }, BottomBackground = { Start = ColorTranslator.FromHtml("#E88E0B"), End = ColorTranslator.FromHtml("#895710") }, BottomBackgroundHighlight = { Start = ColorTranslator.FromHtml("#FFBE60"), End = Color.Transparent }, Text = Color.AntiqueWhite }; if (GlobalManager.Renderer is Office2007Renderer) { renderer.ColorTable.ButtonItemColors.Add(table); } _isInitalized = true; } catch (Exception ex) { Trace.WriteError("", "CreateCustomRedColor", CLASSNAME, ex); throw; } }