Supported with: Library dependencies: System, SystemUI, Geometry, Display, Server, Output, Geodatabase, GISClient, ArcWeb, DataSourcesFile, DataSourcesGDB, DataSourcesOleDB, DataSourcesRaster, DataSourcesNetCDF, GeoDatabaseDistributed, GeoDatabaseExtensions, Carto, NetworkAnalysis, Location, GeoAnalyst, Animation, Maplex, Geoprocessing, NetworkAnalyst, Schematic, SpatialAnalyst, 3DAnalyst, GlobeCoreAdditional library information: Contents,
Object Model Diagram
The Controls library contains the MapControl, PageLayoutControl, TOCControl (Table of Contents), ToolbarControl, GlobeControl, SceneControl, LicenseControl and SymbologyControl together with a collection of Control Commands. The ArcGIS Engine Controls are high-level developer components that first enable you to build and extend Windows applications with ArcGIS functionality and second provide a graphical user interface (GUI). The control commands are a set of commands, tools, menus and palettes that work with the ArcGIS Engine Controls.
Note: In addition to the ArcGIS Engine Controls contained in this library, an ArcReaderControl and ArcReaderGlobeControl exist in the ArcGIS Desktop PublisherControls library.
The objects that implement this functionality are grouped into a number of library subsystems. These library subsystems are:Themes and concepts common to all the ArcGIS controls
Before discussing the details of each of the controls, there are some common themes and concepts that should be understood in order to effectively build applications using them. These include
embeddable components,
property pages,
encapsulated ArcObjects,
events,
buddy controls and
map authoring.
For further information on Themes and concepts common to all the ArcGIS controls see:
ArcGIS Engine controlsLicenseControl
The LicenseControl is used to initialize an application with a suitable license(s) in order for it to run successfully on any machine it is deployed on to. The LicenseControl will configure the licenses at application start time when the form or dialog containing the LicenseControl is loaded. Use the LicenseControl to automatically perform license initialization within simple graphical user interface applications using the
MapControl,
PageLayoutControl,
TOCControl,
ToolbarControl,
GlobeControl,
SceneControl or
SymbologyControl. If greater control is required over license initialization, particularly when checking out and in extension licenses (the LicenseControl will check out extension licenses for the duration of an application's life) use the
AoInitialize object in the System library to programmatically perform license initialization.
For further information on LicenseControl see:
Using the LicenseControlHow to programmatically handle LicenseControl initialization failureBuilding a MapViewer application using the ArcGIS Engine ControlsMapControl
The MapControl corresponds to the ‘data’ view of the ArcMap desktop application and encapsulates the
Map object. Map documents preauthored with the ArcMap application can be loaded into the MapControl eliminating the need to programmatically compose the cartography. The MapControl can also be used to write map documents.
For further information on MapControl see:
Using the MapControlHow to get started with the MapControl property pagesWalkthrough: Building a MapViewer applicationSample: Arrow key and mouse wheel navigation of the MapControl's displaySample: View CAD data in a MapControlSample: Draw text on a MapControlSample: Enable ole drop of data in the MapControlSample: Geo-events in a MapControlSample: Displaying map tips in the MapControlSample: Rotating the MapControl's displaySample: Save a layer file through a MapControl applicationHow to synchronize the MapControl and PageLayoutControlPageLayoutControl
The PageLayoutControl corresponds to the "layout" view of the ArcMap desktop application and encapsulates the PageLayout object. Map documents authored with the ArcMap application can be loaded into the PageLayoutControl eliminating the need to programmatically compose the cartography. It also has methods to assist in printing.
For further information on PageLayoutControl see:
Using the PageLayoutControlHow to get started with the PageLayoutControl property pagesWalkthrough: Building a MapViewer applicationSample: Copy the focus map to share it between a MapControl and PageLayoutControlSample: Load a map document into the PageLayoutControlSample: Use the PageLayoutControl as an overview windowSample: Modify the appearance of the PageLayoutControl's pageSample: Print preview using the PageLayoutControlSample: Printing with the PageLayoutContolSample: Save PageLayoutControl contents to a map document (*.mxd)How to synchronize the MapControl and PageLayoutControlGlobeControl
The GlobeControl corresponds to the '3D View' of the ArcGlobe desktop application and provides a 3D view of data on a globe surface in true geodetic location. The GlobeControl handles large datasets by using an efficient caching scheme. Note the GlobeControl requires a 3D Analyst Extension.
For further information on GlobeControl see:
Using the GlobeControlHow to get started with the GlobeControl property pagesSample: Animation in the GlobeControlSample: Effects in the GlobeControlSample: Navigating around the GlobeControlSample: Creating and playing time animations using the GlobeContolSceneControl
The SceneControl corresponds to the '3D View' of the ArcScene desktop application and provides a way to view and investigate small spatial data layers in 3D. Note the SceneControl requires a 3D Analyst Extension.
For further information on SceneControl see:
Using the SceneControlHow to get started with the SceneControl property pagesSample: Navigating around the SceneControlSample: Creating and playing time animations with the SceneControlSample: Custom scene navigation commandsSymbologyControl
The SymbologyControl is used to display the contents of server style files (*.ServerStyle) and custom symbology. The SymbologyControl enables an end user to select an individual symbol, that can be applied to part of an application, such as a layer's renderer or an element's symbol.
For further information on SymbologyControl see:
Using the SymbologyControlSample: Add map surrounds using the SymbologyControlSample: Update a legend format with SymbologyControl area and line patchesSample: Retrieve a color ramp from the SymbologyControlSample: Update a frame's background, border and shadow using the SymbologyControlSample: Change layer rendering using the SymbologyControlSample: Control text symbols using the SymbologyControlTOCControl
The TOCControl (table of contents control) works in conjunction with a "buddy control", displaying the maps, layers and symbology that are contained in the buddy. The buddy control can be a MapControl, PageLayoutControl, GlobeControl, or SceneControl. The buddy control can be set at design-time though the TOCControl property pages (in development environments that support property page capability) or programmatically using the SetBuddyControl method when the container hosting the TOCControl is displayed.
For further information on TOCControl see:
Using the TOCControl Walkthrough: Building a MapViewer applicationSample: Displaying a TOCControl context menuSample: Enable layer drag and drop in the TOCControlSample: Enable label editing in the TOCControlSample: TOCControl metadata viewerToolbarControl
The ToolbarControl works in conjunction with a "buddy control". The buddy control can be a MapControl, PageLayoutControl, GlobeControl or SceneControl. The buddy control can be set at design-time though the ToolbarControl property pages (in development environments that support property page capability) or programmatically using the SetBuddyControl method when the container hosting the ToolbarControl is displayed. The ToolbarControl hosts a panel of commands, tools, tool control’s, menus and palettes that work with the display of the buddy control. For example, a zoom in tool hosted on a ToolbarControl buddied to a MapControl will allow the end user to zoom in on the display of the MapControl.
For further information on ToolbarControl see:
Using the ToolbarControl Walkthrough: Building a MapViewer applicationSample: Change the appearance of the ToolbarControlSample: Use an application as the ToolbarControl buddySample: Allow runtime customization of the ToolbarControlSample: Load and save the ToolbarControl contents to a setting fileSample: ToolbarControl MDI ApplicationSample: Menu tracking with the ToolbarControlSample: Add a custom bookmarks MultiItem to the ToolbarControlSample: Share a command pool between ToolbarControl'sSample: Display MapControl and ToolbarControl information on a status barSample: Creating toolbar menus that work with the ToolbarControlSample: Creating toolbar palettes that work with the ToolbarControlSample: Creating a zoom factor extension that works with a ToolbarControlHow to create a base command or tool to work with the controlsControl Commands
The Control Commands are commands, tools, toolcontrols, toolsets, menus and palettes that work with the ArcGIS Engine Controls to perform some specific action. For example, there is a suite of map navigation, map inquiry, feature selection, graphic element, feature editing and ink commands that work with the MapControl and PageLayoutControl; a suite of globe commands that work with the GlobeControl; a suite of scene commands that work with the SceneControl; and a suite of network and schematics commands that work with the Network Analyst and Schematics extensions respectively. You can extend this suite of control commands by creating your own customized commands that perform some specific piece of work.
The Control Commands are typically used in conjunction with the ToolbarControl framework and can be hosted on a ToolbarControl, a ToolbarMenu or a ToolbarPalette.
For further information on Control Commands see:
Using the control commandsBuilt-in commands, menus, palettes, multi-items and toolsetsWalkthrough: Building a MapViewer applicationSample: Provide context sensitive help for a custom commandSample: Committing ink sketches using the controls ink commands Sample: Controls commands environmentSample: Configure a command for a specific localeSample: Controls custom map navigation commandsSample: Controls custom map selection commandsSample: Controls custom scene navigation commands commandsSample: Controls feature editing commandsSample: Using hook actions in custom commandsSample: Graphics layers ToolControlHow to create a base command or tool to work with the controlsHow to use the swipe and transparency commandsHow to use the flicker commandsHow to use the roam commandSee Also:
Building a MapViewer applicationBuilt-in commands, menus, palettes, multi-items and toolsets