// Add the menu to all the workspaces private void addMenu2Workspaces(PopMenu pm) { foreach (Workspace wk in cs.Workspaces) { WorkspacePopMenu wkpm = new WorkspacePopMenu(wk, pm); wkpm.Display = 1; } }
//移除以前版本信息 public void RemoveHistoryMenu() { try { PopMenu historyPopMenu = null; foreach (PopMenu tpm in mainCs.MenuGroup.PopMenus) { AliasCollection acs = tpm.Aliases; foreach (var ac in acs) { string acstr = ac as string; if (!string.IsNullOrEmpty(acstr) && acstr.ToUpper().StartsWith("CMCUPLUGIN")) { historyPopMenu = tpm; } if (historyPopMenu != null) { foreach (Workspace wk in mainCs.Workspaces) { WorkspacePopMenu wkPm = wk.WorkspacePopMenus.FindWorkspacePopMenu(historyPopMenu.ElementID, historyPopMenu.Parent.Name); if (wkPm != null) { wk.WorkspacePopMenus.Remove(wkPm); } } mainCs.MenuGroup.PopMenus.Remove(historyPopMenu); // Deletes the Menu from ACAD Menu Group MacroGroup deleteMacroGroup = null; MacroGroupCollection mgc = mainCs.MenuGroup.MacroGroups; List <int> indexList = new List <int>(); foreach (MacroGroup mg in mgc) { if (mg.Name.ToUpper().StartsWith("CMCUMACRO")) { deleteMacroGroup = mg; } if (deleteMacroGroup != null) { indexList.Add(mgc.IndexOf(deleteMacroGroup)); } } indexList.Reverse(); foreach (int index in indexList) { mainCs.MenuGroup.MacroGroups.Remove(index); } } } } } catch (System.Exception e) { ed.WriteMessage("\n异常:" + e.Message); } }
//加入工作区 private void AddMenuToWorkspaces(PopMenu popMenu) { try { foreach (Workspace wk in mainCs.Workspaces) { WorkspacePopMenu wkpm = new WorkspacePopMenu(wk, popMenu); wkpm.Display = 1; } } catch { } }
public void remMenu() { // Find Index of the desired MenuItem // Remove it from all Workspaces that it exists in // Omitting this step leaves nasty left-overs in the Workspace files // Remove it from the Cui files' Menu List PopMenu pm = cs.MenuGroup.PopMenus.FindPopWithAlias("POP12"); if (pm != null) { foreach (Workspace wk in cs.Workspaces) { WorkspacePopMenu wkPm = wk.WorkspacePopMenus.FindWorkspacePopMenu(pm.ElementID, pm.Parent.Name); if (wkPm != null) { wk.WorkspacePopMenus.Remove(wkPm); } } cs.MenuGroup.PopMenus.Remove(pm); // Deletes the Menu from ACAD Menu Group } }