|Map Sheet Production Utility|
The page orientation should be set to Landscape, and the document saved.Go to step 9.
The developer must ensure that these properties and method are implemented for the utility to function correctly.
The developer can add or remove elements from this form to meet the needs of the users' marginalia. The example makes use of some common marginalia elements.
Any changes to the UI must be accompanied with changes to the associated code. In particular the property Enabled must be changed to enable and disable all the UI components.
|sheetID||String||Unique name of the map sheet being produced|
|pSheetPolygon||IPolygon||Polygon interface representing the map sheet boundary in Map Units|
|pAdjacentSheets||Collection||Collection of features representing the map sheets that intersect with the map sheet being produced|
|pMap||IMap||Map in the current data frame.|
|pGraphicsContainer||IGraphicsContainer||The graphics container holding the elements within the page layout|
|pScreenDisplay||IScreenDisplay||The screen display associated with the page layout|
|pMapPlotBounds||IEnvelope||The envelope in page layout units containing the map data frame.|
|pPrintableBounds||IEnvelope||The envelope in page layout units which is the maximum printable area of the paper.|
|scaling||Double||The scale factor that must be applied to the marginalia elements in order for them to fit on the paper.|
|pPaper||IPaper||The paper associated with the ArcMap application|
Examples of these arguments being used can be seen in the various Private functions within the ctlMarginalia class. For example, in the PlaceSheetTitle function many of these arguments can be seen in action. The map title is placed in the middle of the page 5 millimeters about the top of the map. Notice the use of the utility function ConvertToScaledPagedUnits, this function takes in meters and converts the distance to the appropriate page units, at the correct scaling. Also notice the use of the ConvertToScaledUnits function which is used to convert the text height in points to the scaled text height in points. Using these utility functions ensures that the marginalia will be scaled to fit the page size if required. Many of the common primitive element types have corresponding creation utility functions contained within the MarginaliaUtility module. These functions wrap up the work of creating elements, assigning the element a name, activating it and adding it to the graphics container. Notice the use of the c_ElementPrefix constant at the beginning of the element name. All elements automatically generated have this prefix in order that these elements can be found and deleted on completion of the map plot or document creation process.
|clsCommand.cls||Class implements the ICommand interface. This class supports the ability for the tool to be placed on a toolbar within ArcMap. To successfully function the Extension class must be loaded.|
|clsExtension.cls||Class implements the IExtension and IPersistVariant interfaces. The primary function of this class is to support document persistence. The class also hold a reference to the Map Sheet Production form, which is used by the Command.|
|ctlMarginalia.ctl||User Control that has UI, properties and methods to create individual marginalia components in the layout. This is the code that must be customized to support user defined marginalia.|
|frmAbout.frm||Implementation file for the About dialog.|
|frmMain.frm||Implementation file for the Main tabbed dialog.|
|frmMapWindow.frm||Implementation file for the map display window.|
|GreenValley.mxd||ArcMap document, used by the example.|
|ArcMap document, used by the example.||Personal GeoDatabase used holding the example Sheet Index feature class.|
|MarginaliaUtility.bas||Basic module containing functions and sub routines useful when creating marginalia elements in a page layout.|
|PlottingFromIndex.dll||Compiled Map Sheet Production Utility ArcMap extension.|
|PrintMapSheet.reg||Registration file used to register the command and extension classes into the appropriate component categories.|
|PrintMapSheet.vbp||Visual Basic project file.|
|Utility.bas||Basic module containing software constants, and utility functions.|
|ErrorHandler.bas||Basic module containing generic error handling routines.|