Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        /// <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;
            }
        }