• CAD二次开发(.NET)之PaletteSet和Palette


      在CAD中经常用到停靠或浮动的PaletteSet,比如:特性、图层特性管理器、工具选项板等(以下截图来自AutoCAD2010界面)。

     

    特性PaletteSet(停靠)

     

     

    图层特性管理器PaletteSet(浮动)

     

     

    工具选项板PaletteSet(浮动、多个Palette)

     

      这些Palette给设计带来了极大方便,灵活的展现形式(浮动和停靠)不禁让人也想给自己定制一个Palette ,下面就开始动手吧!

          在CAD的acmgd.dll中我们可以找到名称空间Autodesk.AutoCAD. Windows,今天的主角Autodesk.AutoCAD.Windows.PaletteSet就出生于此。

     1 [Autodesk.AutoCAD.Runtime.CommandMethod("AddMyPaletteSet")]
     2 
     3 public void AddMyPaletteSet()
     4 
     5 {
     6 
     7     Autodesk.AutoCAD.Windows.PaletteSet myPaletteSet = new Autodesk.AutoCAD.Windows.PaletteSet("我的PallteSet");
     8 
     9     myPaletteSet.Add("我的工具集", new System.Windows.Forms.Control("我的工具集"));
    10 
    11     myPaletteSet.Add("我的颜色", new System.Windows.Forms.Control("我的颜色"));
    12 
    13     myPaletteSet.Add("我的控件", new System.Windows.Forms.Control("我的控件"));
    14 
    15     myPaletteSet.Visible = true;
    16 
    17 }

     

      以上代码是创建一个PaletteSet,包含三个Palette,最后通过设置myPaletteSet.Visible为true将其显示出来。myPaletteSet.Add第一个参数是Palette的名字,第二个参数是.Net中的WinForm控件,这里为了简便就用了Control,当然真正应用时需要自己定义UserControl。myPaletteSet.Add返回值是Palette。下面看看我们的PaletteSet小伙伴吧!

      打开CAD,Netload生成的Dll,运行命令AddMyPaletteSet,下面是截图:

     

    停靠状态

     

     

    浮动状态

     

          PaletteSet和Palette就简单介绍到此,2013-11-07 23:06, Time to Sleep,Good Night !

  • 相关阅读:
    Linux ln 命令
    一文看懂云计算、虚拟化和容器
    Windows与Linux如何实现相互远程桌面连接?
    Windows与Linux相互远程桌面连接
    什么叫操作系统?
    Linux服务器如何识别移动硬盘?
    Linux主流发行版本配置IP总结(Ubuntu、CentOS、Redhat、Suse)
    实现Linux系统的回收站
    1108 Finding Average (20 分)
    1100 Mars Numbers (20 分)
  • 原文地址:https://www.cnblogs.com/oneday/p/3413605.html
Copyright © 2020-2023  润新知