全新的AutoCAD插件开发。我正在尝试创建一个插件,作为AutoCAD中的整个主菜单选项加载(让我们将此菜单称为“Fizzbuzz
”菜单,当用户选择其中一个菜单项(例如,Fizzbuzz >> Foobar
)时,我想要一个简单的对话框/窗口显示在AutoCAD左上角的屏幕上。
我想弄清楚这个对话框/弹出窗口的表示/布局逻辑需要去哪里(它存在什么文件以及如何创建/编辑它?),同样重要的是:事件驱动的地方GUI逻辑需要(再次:我编辑什么文件以及使用什么语言?)。通过“GUI逻辑”我的意思是:假设我的对话框中有一个复选框或按钮...当用户点击/与这些UI组件交互时,我需要自定义逻辑来执行。
知道哪些文件包含这种类型的新AutoCAD插件的演示/ GUI逻辑以及我如何创建/编辑它们?提前致谢!
我已经添加了一个以这种方式托管winform控件的调色板:
using System.Windows.Forms;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Windows;
namespace AMU.AutoCAD.BlockTool
{
public class MyPalette : IExtensionApplication
{
private PaletteSet palette;
private Control paletteControl;
public void Initialize()
{
//This is called when AutoCAD loads your assembly
this.palette = new PaletteSet("Name")
{
TitleBarLocation = PaletteSetTitleBarLocation.Left,
Style = PaletteSetStyles.Snappable //Your Styles
};
this.paletteControl = new Control(); //Instance of your Control that will be visible in AutoCAD
this.palette.Add("HEADER", this.paletteControl);
this.palette.Visible = true;
}
public void Terminate()
{
//cleanup
this.palette.Dispose();
this.paletteControl.Dispose();
}
}
}
通过提供实现IExtensionApplication的类,您可以在加载dll时执行自定义代码,而无需显式调用方法。您现在可以创建一个所谓的PaletteSet并向其添加Winform或WPF控件。