public static RibbonButton CreateButton(RibbonBase MyRibbon,AddinModule Module , ButtonType BtnType) { RibbonButton btn = null; switch (BtnType) { case ButtonType.Help: //help gomb click mindig megadott url-en található html page-re megy btn = CreateButtonByType(MyRibbon, Module, BtnType); btn.Click += new RibbonControlEventHandler(btnHelp_Click); break; case ButtonType.About: //about mindig messagebox-ban mutatja a modul nevét, verzióját btn = CreateButtonByType(MyRibbon, Module, BtnType); btn.Click += new RibbonControlEventHandler(btnAbout_Click); break; default: btn = CreateButtonByType(MyRibbon, Module, BtnType); break; } return btn; }
private static MethodInfo TryGetModuleEventHandler(AddinModule Module, ModuleEventHandler Handler) { MethodInfo mi = null; try { mi = Module.GetType().GetMethod(Handler.ToString()); } catch (Exception) { } return mi; }
public static void LoadModule(RibbonBase MyRibbon, RibbonTab MyRibbonTab, AddinModule Module) { Module.AddRibbonControls(MyRibbon, MyRibbonTab); Module.AddControlEvents(); }
private static RibbonButton CreateButtonByType(RibbonBase MyRibbon, AddinModule Module, ButtonType BtnType) { var props = _ButtonProperties[BtnType]; RibbonButton btn = MyRibbon.Factory.CreateRibbonButton(); btn.Name = BtnType.ToString() + Module.Name; btn.Tag = Module.ShallowCopy(); btn.ControlSize = Microsoft.Office.Core.RibbonControlSize.RibbonControlSizeLarge; btn.Label = props.Label; btn.SuperTip = props.SuperTip; btn.OfficeImageId = props.OfficeImageId; btn.ShowImage = true; return btn; }