zoukankan      html  css  js  c++  java
  • cad.net 设置边栏面板最小宽度

    有很多人问过这个问题,所以特意在博客贴出..

    取自Acad官方的博客 https://adndevblog.typepad.com/autocad/2012/06/paletteset-minimum-docked-width.html

    原文:

    我有一个PaletteSet,它包含一个工具栏,其宽度设置为40像素。这在AutoCAD 2008中很好,但在AutoCAD 2011中,当PaletteSet停靠时,我不能使宽度小于150像素。

    在AutoCAD 2009中,包括PaletteSets在内的可停靠窗口的最小停靠宽度已从40像素更改为150像素,在AutoCAD 2011中也是如此。

    然而,在AutoCAD 2012中,引入了一个新的ARX函数,它可以覆盖此值:

    public class CommandsTestMyPalette
    {
        PaletteSet ps;
        /// <summary>
        /// 设置边栏面板最小宽度 
        /// </summary>
        /// <param name="width"></param>
        /// <returns></returns>       
        [DllImport("adui18.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?AdUiSetDockBarMinWidth@@YA_NH@Z")]
        public static extern bool AdUiSetDockBarMinWidth(int width);
    
        [CommandMethod("MyPalette")]
        public void MyPalette()
        {
            AdUiSetDockBarMinWidth(40);
            if (ps == null)
            {
                ps = new PaletteSet("My Palette 1")
                {
                    MinimumSize = new System.Drawing.Size(30, 300),
                    Dock = DockSides.Top
                };
                //var myCtrl = new MyControl1();
                //myCtrl.Dock = System.Windows.Forms.DockStyle.Fill;
                //ps.Add("test", myCtrl);
            }
            if (ps != null)
            {
                ps.Visible = true;
            }
        }
    }
    

    其他版本可以通过 Depends.exe 去找 "adui18.dll" 内的接口...

    如果需要修改18这个数字已达动态加载的目的,可以见动态调用dll
    (完)

  • 相关阅读:
    1254:走出迷宫
    1332:【例2-1】周末舞会
    P1744 采购特价商品 题解(讲解图论)
    p1305 新二叉树
    P1069 细胞分裂
    LOJ #124. 除数函数求和 1
    P4438 [HNOI/AHOI2018]道路
    P4318 完全平方数
    P1447 [NOI2010]能量采集
    P3200 [HNOI2009]有趣的数列
  • 原文地址:https://www.cnblogs.com/JJBox/p/14373142.html
Copyright © 2011-2022 走看看