[求助] C#中如何创建一个自己的工具条
<p>在网上查了一下,关于用C#创建工具条的例子都较少,看了有些帖子中有这样的语句:</p><p><font face="Verdana">AcadToolbar MyToolBar = Autodesk.AutoCAD.ApplicationServices.Application.MenuGroups.Item(0).Toolbars.Add("SLTireCAD工具栏");</font></p>
<p> </p>
<p>但是为什么在引用的acdbmgd.dll和acmgd.dll中都没有查到<font face="Verdana">AcadToolbar这个类,还有Autodesk.AutoCAD.ApplicationServices.Application.MenuGroups.也是Object类型的,后面的.Item(0).Toolbars.Add("SLTireCAD工具栏")根本就调用不了。</font></p>
<p> </p>
<p>新手上路,请各位专家指导一下,最好能有个简单的创建工具条的例子,谢谢</p> C#动态创建工具栏 需引入com类库
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using cadApp = Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Interop; //引用com类库
//启动时加载工具栏,注意typeof括号里的类库名
namespace yfCAD
{
public class myClass : Autodesk.AutoCAD.Runtime.IExtensionApplication //注意:重要
{
public void Initialize()
{
AddToolBar();//启时自动加载工具栏
}
// 清除操作,不可缺少
public void Terminate()
{
}
//加载工具栏
public void AddToolBar()
{
string path = Path();
Autodesk.AutoCAD.Interop.AcadApplication acadApp = (AcadApplication) Autodesk.AutoCAD.ApplicationServices.Application.AcadApplication;
Autodesk.AutoCAD.Interop.AcadToolbar atb = null;
Autodesk.AutoCAD.Interop.AcadToolbarItem atbi = null;
try
{
atb = acadApp.MenuGroups.Item("ACAD").Toolbars.Add("您自己工具栏的名称");
//示例atbi = atb.AddToolbarButton(0, "工具栏名称", "帮助", "命令 ", false);
//命令后,紧跟一空格,否则处于等待状态
atbi = atb.AddToolbarButton(0, "数字文本求和", "数字文本求和", "Sum ", false);
//示例atbi.SetBitmaps(工具栏图片文件路径,工具栏图片文件路径);
atbi.SetBitmaps(acadApp.Path.Trim() + "\\***.bmp", acadApp.Path.Trim() + "\\***.bmp");
atbi = atb.AddToolbarButton(1, "批量转换", "批量转换", "dwgToPdf ", false);
atbi.SetBitmaps(acadApp.Path.Trim() + "\\***.bmp", acadApp.Path.Trim() + "\\***.bmp");
//工具栏靠右边停靠
atb.Dock(Autodesk.AutoCAD.Interop.Common.AcToolbarDockStatus.acToolbarDockRight);
atb.Visible = true;
}
catch
{
Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
ed.WriteMessage("加载工具栏出错……");
}
}
感谢分享,分享伟大 <font face="Verdana">AcadToolbar</font>是要引用Com库的
[求助] C#中如何创建一个自己的工具条
如何引,能否指导一下,这个com在2008安装盘中有没?谢谢 感谢此帖 内容感谢此帖 内容 代码可以直接融合在一起么?学习了 学习了 谢谢 要引用com组件的 能不能不受版本限制啊
页:
[1]
2