zoukankan      html  css  js  c++  java
  • AutoCAD.Net/C#.Net QQ群:193522571 AutoCAD中状态栏

    AutoCAD中状态栏类:

      public sealed class StatusBar
      {
        protected StatusBar(AcApStatusBar* impObj);
    
        public PaneCollection Panes { get; }
        public TrayItemCollection TrayItems { get; }
        public Window Window { get; }
    
        public void CloseBubbleWindows();
        public Pane GetDefaultPane(DefaultPane pane);
        public void RemoveDefaultPane(DefaultPane pane);
        public void Update();
      }

    其中Panes中包含默认Pane,默认Pane的枚举如下:

      public enum DefaultPane
      {
        ModeMacro = 0,
        CursorCoordinates = 1,
        Snap = 2,
        Grid = 3,
        Ortho = 4,
        Polar = 5,
        ObjectTrack = 6,
        LineWeight = 7,
        PaperModel = 8,
        Paper = 9,
        Model = 10,
        ObjectSnap = 11,
        Float = 12,
        Table = 13,
        Spacer = 14,
        ViewportMaximizePrevious = 15,
        ViewportMaximize = 16,
        ViewportMaximizeNext = 17,
        DynamicInput = 18,
        DynamicUcs = 19,
        LayoutModelIcons = 20,
        ModelIcon = 21,
        LayoutIcon = 22,
        LayoutMoreIcon = 23,
        All = 24,
      }
    View Code

    测试后发现移除了默认Pane后,想再加入其中一项就会导致内存出错。

    原本打算先移除掉再加上走不通,不过Panes中包含了一个可以让用户自定义值的Pane,即:ModeMacro,其默认visible为false,初始值为“.”,后面发现移除不了默认的pane可以将其隐藏,显示了用户的值后再将其恢复,同样可以达到预计效果。

    显示用户文本:

            foreach (Pane p in AcadApplication.StatusBar.Panes)
            {
              if (p.Text != ".")
              {
                p.Visible = false;
              }
              else
              {
                p.Visible = true;
                p.Text = statusBarValue;
              }
            }
            AcadApplication.StatusBar.Update();

    恢复默认:

          foreach (Pane p in AcadApplication.StatusBar.Panes)
          {
            if (p.Text == statusBarValue)
            {
              p.Text = ".";
              p.Visible = false;
            }
            else
            {
              p.Visible = true;
            }
          }
          AcadApplication.StatusBar.Update();
  • 相关阅读:
    使用JavaScript让网页title动起来 TC
    Asp.net获取客户端登录者mac地址 TC
    HTTP错误 500.23Internal Server Error 检测到在集成的托管管道模式下不适用的ASP.NET设置 TC
    上下文字\图片滚动 无JS TC
    SQL语句优化(雷人代码) TC
    js获得url请求参数 TC
    HTTP状态码 TC
    Javascript之表格隔行变色 TC
    C# FTP上传文件报550异常解决方案 TC
    javascript 点击固定数据 隐藏或显示DIV TC
  • 原文地址:https://www.cnblogs.com/swtool/p/4936038.html
Copyright © 2011-2022 走看看