nkmjg 发表于 2024-6-30 16:19:12

双击 cui

//改变属性块的双击事件
//将菜单文件中的双击改一下,退出时还原文件 acad.bak.cui 改这个名字 每次用这个更新为新的 acad.cui进行修改
//退出时再用 acad.bak.cui还原acad.cui
public static void ChangeCuiForDoubleChick(string cmd)
{
    string cuiPath =
    @"C:\Documents and Settings\Administrator\Application Data\Autodesk\AutoCAD 2007\R17.0\chs\Support\acad.cui";
    Autodesk.AutoCAD.Customization.CustomizationSection cs = new CustomizationSection(cuiPath, "ACAD"); ;

    string mgName = "HoulinboMenuGroups";//宏组
    string mmName = "HoulinboDblblockMacro";//宏
    string command = cmd; //对应属性块编辑查看宏命令
    string dblclickEID = "ID_VFHoulinboForDoubleChick";

    //菜单宏
    MenuMacro oMenuMacro1 = cs.FindMenuMacro(mmName);
    if (oMenuMacro1 == null)
    {
      //先自定义宏组
      MacroGroup oMacroGroup = cs.MenuGroup.FindMacroGroup(mgName);
      if (oMacroGroup == null)
            oMacroGroup = new MacroGroup(mgName, cs.MenuGroup);
      oMenuMacro1 = new MenuMacro(oMacroGroup, mmName, command, dblclickEID, MacroType.Any);
    }
    foreach (DoubleClickAction dc in cs.MenuGroup.DoubleClickActions)
    {
      if (dc.DxfName.Equals("ATTBLOCKREF"))
      {
            dc.DoubleClickCmd.MacroID = dblclickEID;
            cs.SaveAs(cuiPath);
            return;
      }
    }
}
页: [1]
查看完整版本: 双击 cui