Current active tool for the SceneControl. Set to nothing to clear the tool.
[Visual Basic .NET] Public Property CurrentTool As ITool
[C#] public ITool CurrentTool {get; set;}
[C++]
HRESULT get_CurrentTool(
ITool** pVal
);
[C++]
HRESULT putref_CurrentTool(
ITool* pVal
);
[C++]Parameters
pVal [out, retval]pVal is a parameter of type ITool
pVal [in]pVal is a parameter of type ITool
Product Availability
Available with ArcGIS Engine.
Description
The CurrentTool is the tool used to interact will the SceneControl's display. Always check if a tool is enabled before setting it to the CurrentTool property, otherwise a user will be able to use a tool that is actually disabled.
Errors Returned
1004 800a03ec: Current tool will not deactivate
Remarks
When the CurrentTool is set the following events occur:
- The ITool::Deactivate event is triggered on the 'old' CurrentTool if one was set. If this event returns false a trappable error ocurrs. If this event returns true the 'old' CurrentTool is removed and replaced.
- The ICommand::OnClick event is triggered on the 'new' CurrentTool and its cursor is picked up.
Within an ITool implementation it is recommended that the ITool::Deactivate event returns true. This allows a 'new' CurrentTool to be set, and allows the release of the CurrentTool when an application is shutting down.
[C#]
ICommand command = new ControlsSceneZoomInOutToolClass();
command.OnCreate(axSceneControl1.Object);
if (command.Enabled == true)
{
axSceneControl1.CurrentTool= (ITool) command;
}
[Visual Basic .NET]
Dim pCommand As ICommand
pCommand = New ControlsSceneZoomInOutToolClass
pCommand.OnCreate(AxSceneControl1.Object)
If pCommand.Enabled = True Then
AxSceneControl1.CurrentTool = pCommand
End If