axToolbarControl1.AddItem(myTool, -1, -1, false, -1, esriCommandStyles.esriCommandStyleIconAndText);这句代码中的六个参数分别是什么意思
时间: 2023-12-06 09:41:32 浏览: 34
这是一个 ArcObjects 中的代码。该代码是向 ArcGIS 的工具栏中添加一个工具。其中,六个参数的含义如下:
1. myTool:要添加的工具对象。
2. -1:工具的位置索引,如果设置为 -1,则表示将工具添加到工具栏的末尾。
3. -1:工具的命令 ID,如果设置为-1,则表示使用工具对象的默认命令 ID。
4. false:工具是否可用的初始状态(即是否启用),如果设置为 false,则表示工具一开始是禁用状态。
5. -1:工具的帮助上下文 ID,如果设置为-1,则表示不提供帮助。
6. esriCommandStyles.esriCommandStyleIconAndText:工具的显示样式,这里是图标加文字的样式。
相关问题
axToolbarControl1.AddItem的六个参数是什么
axToolbarControl1.AddItem 是 ArcGIS Engine 中的一个方法,用于向工具栏中添加一个新的按钮或者工具。
axToolbarControl1.AddItem 方法的六个参数分别是:
1. item:要添加的工具或按钮对象,可以是 ICommand 接口的一个实例,也可以是一个自定义的工具类对象。
2. index:要添加的工具或按钮在工具栏中的位置,从 0 开始计数。
3. group:工具或按钮所属的分组名称,可以为 null。
4. subType:工具或按钮的 subtype 值,用于标识工具或按钮的类型。
5. bitmap:工具或按钮的图标,可以为 null。
6. caption:工具或按钮的文本提示。
其中,前三个参数是必需的,后三个参数可以为 null。
arcgis engine中如何定义用于axToolbarControl1.AddItem中添加的自定义工具对象
在 ArcGIS Engine 中定义用于 `axToolbarControl1.AddItem` 中添加的自定义工具对象,需要实现以下步骤:
1. 创建一个类,实现 ITool 接口。
```csharp
public class MyCustomTool : ESRI.ArcGIS.Framework.ITool {
// ...
}
```
2. 实现 ITool 接口中的方法,包括 OnCreate、OnClick、OnMouseDown 等事件处理方法。
```csharp
public void OnCreate(object hook){
// ...
}
public void OnClick(){
// ...
}
public void OnMouseDown(int Button, int Shift, int X, int Y){
// ...
}
```
3. 在 OnCreate 方法中创建工具栏按钮的图标,并将其赋值给 Bitmap 以供之后使用。
```csharp
public void OnCreate(object hook){
// ...
bitmap = new Bitmap(GetType().Assembly.GetManifestResourceStream("MyNamespace.MyCustomTool.png"));
}
```
4. 在 ITool 接口中实现 Name、Caption、Category、Bitmap、Enabled 属性,以及 Cursor 属性和 ToolTip 属性。
```csharp
public string Name{
get { return "MyCustomTool"; }
}
public string Caption{
get { return "My Custom Tool"; }
}
public string Category{
get { return "My Custom Category"; }
}
public Bitmap Bitmap{
get { return bitmap; }
}
public bool Enabled{
get { return true; }
}
public int Cursor{
get { return -1; }
}
public string ToolTip{
get { return "My Custom Tool"; }
}
```
5. 在窗体中的 `axToolbarControl1_OnCreate` 事件中添加自定义工具对象。
```csharp
private void axToolbarControl1_OnCreate(object sender, IToolbarControlEvents_OnCreateEvent e){
// ...
MyCustomTool myTool = new MyCustomTool();
axToolbarControl1.AddItem(myTool, -1, -1, false, -1, esriCommandStyles.esriCommandStyleIconAndText);
}
```
这样就可以在工具栏中添加自定义工具对象了。