18.04.2015 Views

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

ArcGIS Engine Developer Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

VISUAL C++<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriSystem.olb" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids, exclude("OLE_COLOR",<br />

"OLE_HANDLE", "VARTYPE")<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriSystemUI.olb"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriGeometry.olb"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriDisplay.olb" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriOutput.olb" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriGeoDatabase.olb"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriCarto.olb" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids<br />

// Some of the <strong>Engine</strong> controls<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\TOCControl.ocx" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\ToolbarControl.ocx"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\MapControl.ocx" raw_interfaces_only,<br />

raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\PageLayoutControl.ocx"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

// Additionally for 3D controls<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esri3DAnalyst.olb"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\com\esriGlobeCore.olb"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\SceneControl.ocx"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#import "C:\Program Files\<strong>ArcGIS</strong>\bin\GlobeControl.ocx"<br />

raw_interfaces_only, raw_native_types, no_namespace, named_guids<br />

#pragma warning (pop)<br />

A similar issue arises when writing IDL that contains definitions from other type<br />

libraries. In this situation, use importlib just after the library definition. For<br />

example, writing an external command for ArcMap would require you to create a<br />

COM object implementing ICommand. This definition is in esriSystemUI and is<br />

imported into the IDL as follows:<br />

library WALKTHROUGH1CPPLib<br />

{<br />

importlib("stdole32.tlb");<br />

importlib("stdole2.tlb");<br />

importlib("C:\Program Files\<strong>ArcGIS</strong>\com\esriSystemUI.olb");<br />

coclass ZoomIn<br />

{<br />

[default] interface IUnknown;<br />

122 • <strong>ArcGIS</strong> <strong>Engine</strong> <strong>Developer</strong> <strong>Guide</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!