Ejemplo n.º 1
0
        public static RibbonCommandButton AddNewButton(
            this RibbonRow instance,
            string text,
            string commandFriendlyName,
            string command,
            string commandDescription,
            string smallImagePath,
            string largeImagePath,
            RibbonButtonStyle style)
        {
            var customizationSection = instance.CustomizationSection;
            var macroGroups          = customizationSection.MenuGroup.MacroGroups;

            MacroGroup macroGroup;

            if (macroGroups.Count == 0)
            {
                macroGroup = new MacroGroup("MacroGroup", customizationSection.MenuGroup);
            }
            else
            {
                macroGroup = macroGroups[0];
            }

            var button = new RibbonCommandButton(instance);

            button.Text = text;

            var commandMacro = "^C^C_" + command;
            var commandId    = "ID_" + command;
            var buttonId     = "btn" + command;
            var labelId      = "lbl" + command;

            var menuMacro = macroGroup.CreateMenuMacro(commandFriendlyName,
                                                       commandMacro,
                                                       commandId,
                                                       commandDescription,
                                                       MacroType.Any,
                                                       smallImagePath,
                                                       largeImagePath,
                                                       labelId);
            var macro = menuMacro.macro;

            /*Associate custom command to ribbonbutton macro*/
            macro.CLICommand = command;

            button.MacroID     = menuMacro.ElementID;
            button.ButtonStyle = style;
            instance.Items.Add(button);

            return(button);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Creates a new button
 /// </summary>
 /// <param name="image">Image of the button (32 x 32 suggested)</param>
 /// <param name="smallImage">Image of the button when in medium of compact mode (16 x 16 suggested)</param>
 /// <param name="style">Style of the button</param>
 /// <param name="text">Text of the button</param>
 public RibbonButton()
 {
     _style = RibbonButtonStyle.Normal;
     _dropDownArrowDirection = RibbonArrowDirection.Down;
     _assignedHandlers       = new Set <RibbonItem>();
     DropDownItems           = new RibbonItemCollection();
     DropDownItems.SetOwnerItem(this);
     _dropDownArrowSize = new Size(5, 3);
     _dropDownMargin    = new Padding(6);
     Image                = CreateImage(32);
     SmallImage           = CreateImage(16);
     DrawDropDownIconsBar = true;
 }
Ejemplo n.º 3
0
        private void CreateRibbon()
        {
            {
                RibbonButtonTab tab = new RibbonButtonTab();
                tab.Name     = "开始";
                tab.DropDown = new RibbonDropDownMenu(this.Ribbon)
                {
                    Menu = CreateStartMenu()
                };
                this.Ribbon.Tabs.Add(tab);
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "主页";
                this.Ribbon.Tabs.Add(tab);
                {
                    RibbonButtonGroup group = new RibbonButtonGroup();
                    group.Name = "剪贴板";
                    tab.TabPanel.Groups.Add(group);
                    {
                        RibbonButton button = new RibbonButton();
                        button.BigImage = ButtonImages.Paste;
                        button.Name     = "粘帖1";
                        group.BigItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.BigImage = ButtonImages.Paste;
                        button.Name     = "粘帖2";
                        button.Enabled  = false;
                        group.BigItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage = ButtonImages.CutHS;
                        button.Name       = "剪切";
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.CopyHS;
                        button.Name        = "复制";
                        button.ButtonStyle = RibbonButtonStyle.SplitButton;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Color_linecolor;
                        button.Name        = "格式刷";
                        button.ButtonStyle = RibbonButtonStyle.DropDownButton;
                        group.SmallItems.Add(button);
                    }
                }
                {
                    RibbonButtonGroup group = new RibbonButtonGroup();
                    group.Name = "字体";
                    tab.TabPanel.Groups.Add(group);
                    {
                        RibbonButton button = new RibbonButton();
                        button.BigImage    = ButtonImages.Paste;
                        button.Name        = "粘帖3";
                        button.ButtonStyle = RibbonButtonStyle.DropDownButton;
                        group.BigItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.BigImage    = ButtonImages.Paste;
                        button.Name        = "粘帖4";
                        button.ButtonStyle = RibbonButtonStyle.SplitButton;
                        group.BigItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Window1;
                        button.Name        = "一个窗口";
                        button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                        button.ToggleGroup = 0;
                        button.Toggled     = true;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Window2;
                        button.Name        = "两个窗口";
                        button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                        button.ToggleGroup = 0;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Window3;
                        button.Name        = "三个窗口";
                        button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                        button.ToggleGroup = 0;
                        button.Enabled     = false;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Arrow1;
                        button.Name        = "第一箭头";
                        button.ButtonStyle = RibbonButtonStyle.ToggleButton;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Arrow2;
                        button.Name        = "第二箭头";
                        button.ButtonStyle = RibbonButtonStyle.ToggleButton;
                        group.SmallItems.Add(button);
                    }
                    {
                        RibbonButton button = new RibbonButton();
                        button.SmallImage  = ButtonImages.Arrow3;
                        button.Name        = "第三箭头";
                        button.ButtonStyle = RibbonButtonStyle.ToggleButton;
                        group.SmallItems.Add(button);
                    }
                }
                {
                    RibbonToolStripGroup group = new RibbonToolStripGroup();
                    group.Name = "段落";
                    tab.TabPanel.Groups.Add(group);
                    {
                        RibbonToolStrip tool = new RibbonToolStrip();
                        tool.NormalLine  = 0;
                        tool.CompactLine = 0;
                        group.ToolStrips.Add(tool);
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage = ToolImages.ItemNumber;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.ItemDot;
                            button.ButtonStyle = RibbonButtonStyle.DropDownButton;
                            button.Enabled     = false;
                            tool.ToolItems.Add(button);
                        }
                    }
                    {
                        RibbonToolStrip tool = new RibbonToolStrip();
                        tool.NormalLine  = 0;
                        tool.CompactLine = 0;
                        group.ToolStrips.Add(tool);
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage = ToolImages.TabIn;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage = ToolImages.TabOut;
                            tool.ToolItems.Add(button);
                        }
                    }
                    {
                        RibbonToolStrip tool = new RibbonToolStrip();
                        tool.NormalLine  = 1;
                        tool.CompactLine = 1;
                        group.ToolStrips.Add(tool);
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.AlignLeft;
                            button.Toggled     = true;
                            button.ToggleGroup = 0;
                            button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.AlignCenter;
                            button.ToggleGroup = 0;
                            button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.AlignRight;
                            button.ToggleGroup = 0;
                            button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.AlignFull;
                            button.ToggleGroup = 0;
                            button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.AlignExpand;
                            button.ToggleGroup = 0;
                            button.ButtonStyle = RibbonButtonStyle.GroupedToggleButton;
                            button.Enabled     = false;
                            tool.ToolItems.Add(button);
                        }
                    }
                    {
                        RibbonToolStrip tool = new RibbonToolStrip();
                        tool.NormalLine  = 1;
                        tool.CompactLine = 1;
                        group.ToolStrips.Add(tool);
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage = ToolImages.LinePadding;
                            tool.ToolItems.Add(button);
                        }
                    }
                    {
                        RibbonToolStrip tool = new RibbonToolStrip();
                        tool.NormalLine  = 0;
                        tool.CompactLine = 2;
                        group.ToolStrips.Add(tool);
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.TableBorder;
                            button.ButtonStyle = RibbonButtonStyle.DropDownButton;
                            button.DropDown    = new RibbonDropDownMenu(this.Ribbon)
                            {
                                Menu = CreateTableMenu()
                            };
                            tool.ToolItems.Add(button);
                        }
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = ToolImages.SortAscending;
                            button.ButtonStyle = RibbonButtonStyle.SplitButton;
                            tool.ToolItems.Add(button);
                        }
                    }
                }
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "插入";
                this.Ribbon.Tabs.Add(tab);
                {
                    RibbonControlGroup group = new RibbonControlGroup();
                    group.Name = "好复杂啊";
                    tab.TabPanel.Groups.Add(group);

                    RibbonControlSizingPolicy[] policies = new RibbonControlSizingPolicy[] {
                        RibbonControlSizingPolicy.Big,
                        RibbonControlSizingPolicy.BigSmall,
                        RibbonControlSizingPolicy.BigCompact,
                        RibbonControlSizingPolicy.Small,
                        RibbonControlSizingPolicy.SmallCompact,
                        RibbonControlSizingPolicy.Compact
                    };
                    Image[]             smalls = new Image[] { ControlImages.a1, ControlImages.b1, ControlImages.c1, ControlImages.d1, ControlImages.e1, ControlImages.f1 };
                    Image[]             bigs   = new Image[] { ControlImages.a2, ControlImages.b2, ControlImages.c2, ControlImages.d2, ControlImages.e2, ControlImages.f2 };
                    RibbonButtonStyle[] styles = new RibbonButtonStyle[] { RibbonButtonStyle.PushButton, RibbonButtonStyle.DropDownButton, RibbonButtonStyle.SplitButton };
                    for (int i = 0; i < 6; i++)
                    {
                        RibbonControlGroupPanel panel = new RibbonControlGroupPanel();
                        panel.Policy = policies[i];
                        group.Panels.Add(panel);
                        for (int j = 0; j < 3; j++)
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = smalls[i];
                            button.BigImage    = bigs[i];
                            button.ButtonStyle = styles[j];
                            button.Name        = panel.Policy.ToString() + " " + (i + 1).ToString();
                            panel.ControlItems.Add(button);
                        }
                    }
                }
                {
                    RibbonControlGroup group = new RibbonControlGroup();
                    group.Name = "好复杂啊";

                    RibbonControlSizingPolicy[] policies = new RibbonControlSizingPolicy[] {
                        RibbonControlSizingPolicy.Big,
                        RibbonControlSizingPolicy.BigSmall,
                        RibbonControlSizingPolicy.BigCompact,
                        RibbonControlSizingPolicy.Small,
                        RibbonControlSizingPolicy.SmallCompact,
                        RibbonControlSizingPolicy.Compact
                    };
                    Image[]             smalls = new Image[] { ControlImages.a1, ControlImages.b1, ControlImages.c1, ControlImages.d1, ControlImages.e1, ControlImages.f1 };
                    Image[]             bigs   = new Image[] { ControlImages.a2, ControlImages.b2, ControlImages.c2, ControlImages.d2, ControlImages.e2, ControlImages.f2 };
                    RibbonButtonStyle[] styles = new RibbonButtonStyle[] { RibbonButtonStyle.PushButton, RibbonButtonStyle.DropDownButton, RibbonButtonStyle.SplitButton };
                    for (int i = 0; i < 6; i++)
                    {
                        RibbonControlGroupPanel panel = new RibbonControlGroupPanel();
                        panel.Policy = policies[i];
                        group.Panels.Add(panel);
                        for (int j = 0; j < 3; j++)
                        {
                            RibbonButton button = new RibbonButton();
                            button.SmallImage  = smalls[i];
                            button.BigImage    = bigs[i];
                            button.ButtonStyle = styles[j];
                            button.Name        = panel.Policy.ToString() + " " + (i + 1).ToString();
                            panel.ControlItems.Add(button);
                        }
                    }

                    ((tab.TabPanel.Groups[0] as RibbonControlGroup).Panels[0].ControlItems[1] as RibbonButton).DropDown = new RibbonDropDownGroup(this.Ribbon)
                    {
                        Group = group
                    };
                }
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "页面布局";
                this.Ribbon.Tabs.Add(tab);
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "引用";
                this.Ribbon.Tabs.Add(tab);
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "设计";
                this.Ribbon.Tabs.Add(tab);
            }
            {
                RibbonTab tab = new RibbonTab();
                tab.Name = "布局";
                this.Ribbon.Tabs.Add(tab);
            }
            {
                RibbonTabGroup group = new RibbonTabGroup();
                group.Name       = "表格工具";
                group.FirstIndex = 5;
                group.LastIndex  = 6;
                this.Ribbon.TabGroups.Add(group);
            }
            UpdateRibbon(false);
        }
Ejemplo n.º 4
0
        private RibbonButton AddButton(RibbonItemCollection collection, RibbonButtonStyle style, string label, string msoImageName,
			string msoCommandName, RibbonElementSizeMode maxSizeMode = RibbonElementSizeMode.None, Action customAction = null)
        {
            RibbonButton button = new RibbonButton();
            button.Style = style;
            button.MaxSizeMode = maxSizeMode;
            button.Text = label;
            AssignImage(button, msoImageName);
            if (customAction == null) {
                AssignAction(button, msoCommandName);
            } else {
                EventHandler handler = new EventHandler(delegate(object sender, EventArgs ea) {
                    RunCommand(customAction);
                });
                button.Click += handler;
                button.DoubleClick += handler;
            }
            collection.Add(button);
            return button;
        }