spacer1
spacer2 1_1 1_2
2_1
 Subscribe
 The MP2K Update!
 
 
 
 Magazine
Front Cover
What's New
Articles
News
Sample Data
Gallery
Advertise
About
 Features
MapPoint 2013
Press Releases
MapPoint Forums
Companies
Link to MP2Kmag
Wish List
MapPoint Trial
Authors
 Earlier Content
Past News Items
Past What's New Announcements
 Sponsors
 Order

MapPoint 2013

Programming MapPoint in .NET

MapPoint Book

  Spatial Community
SVG Tutorials
MapPoint

Map Visitors

  ARTICLES  


Shape Name Utility

The Shape Name Utility is a simple utility developed by Richard Marsden that allows a user to examine and/or change the names of MapPoint shapes. This article describes the code and how it works.

The Shape Name Utility has been released as freeware and as open source under the Berkeley license. An installer, and a source code archive can both be downloaded from the Mapping-Tools.com website at: http://www.mapping-tools.com/shapename/index.shtml

The following source code description can be used as a form of tutorial for those who want to build a MapPoint add-in using Visual Basic 6. As well as Visual Basic 6, the project uses NSIS for building the installer, and Help & Manual for the documentation. NSIS is open source, but Help & Manual is a commercial system. Both are good products, but you do not need either of them in order to build the project and to install it on your development PC. After saying this, it is strongly recommended that you use an installer if you wish to distribute your add-in on multiple PCs.

Project Files

The Shape Name Utility has been written using Visual Basic 6. Although this getting old, it is good for quick MapPoint development, and is widely available. You will need Visual Studio 6 to build the Shape Name Utility files.

The installer is an NSIS script. NSIS is a powerful open source scripting system for building installers. It includes support for registry modification and DLL version updates - both of which are essential for a MapPoint add-in.

The PDF manual is built using Help & Manual v4.5. Help & Manual is a commercial help authoring system, but is very powerful and easy to use.

The source code is split amongst three files. frmAbout.frm, frmShape.frm, and Connect.dsr. frmAbout.frm is the standard VB6 About Box but with the default text fields filled out. The other two files are explained on the next two pages.

Connect.dsr

The Connect.dsr is based on the file produced by the VB6 Add-in Wizard. It manages the add-in for MapPoint, by controlling the menu item and the menu callback.

There are two global variables (oApp and oFrm) which hold references to the parent MapPoint application and our form, respectively.

There are only three methods:

AddinInstance_MenuClick

This subroutine is called when the user clicks the Shape Name Utility menu item. It creates a new form object if we do not have one, and then calls the form's DisplayForm method. This method queries the selected shape and displays the form as a modal dialog box. Here is the code:

AddinInstance_OnConnection

This method is a part of the standard add-in interface. It is called by MapPoint when it loads the Shape Name Utility add-in and connects to it.

Our implementation stores a reference to the parent application for future use, and adds our menu item ("Shape Name Utility...") to the Tools menu. This is connected to the AddinInstance_MenuCheck method, above.

AddinInstance_OnDisconnection

This method is also a part of the standard add-in interface. It is called when MapPoint is disconnecting and unloading the add-in from memory. We remove our menu item from the Tools menu, and clear our global references.

frmShape.frm

frmShape.frm is a VB6 form file that implements the main Shape Name Utility modal dialog box. It also manages the shape name query and update. The form is visually defined to look like this:

clip0002

There are four global variables defined for the form. oApp and oMap define references to the MapPoint Application and Map. sName stores the name that was read from the current shape. bReadonly indicates if the name is read only (and should not be updated).

There are four methods, three of which are button call-backs.

AboutButton_Click

This is called when the user clicks the About button. It creates an About box (frmAbout) and opens it as a dialog box. frmAbout is implemented as a standard VB6-produced About box.

CancelButton_Click

This is called when the user clicks the Cancel button. It simply closes the frmShape modal dialog box.

OKButton_Click

This is called when the user clicks the OK button. If saves any name change (if possible), and then closes the frmShape modal dialog box. Note that the new name is trimmed (leading and trailing spaces are removed) and compared against the stored copy of the shape name to check if it has changed.

DisplayForm

This is called by the Tools menu callback, to query the selected object's name and to display the form. Warning dialog boxes are displayed if an object is not selected, or if the object is not a shape or a pushpin. The name is read for both shape and pushpin selections, but pushpins are marked as readonly.

If the object is a shape, then the shape type is queried. Both the name and the type are displayed in the dialog before it is finally displayed.

Discuss this story in the forum.

Author: Richard Marsden
Email: enquiries(AT)winwaed.com
URL: http://www.winwaed.com
Richard Marsden is the proprietor of Winwaed Software Technology, LLC which provides software consulting and development services, specializing in both MapPoint and online mapping applications. He operates the Mapping-Tools.com Website for MapPoint Tools and Utilities, and recently launched the GeoWeb Guru a community website for developers of the geospatial web. In 2008, Richard was awarded Virtual Earth MVP status by Microsoft.

Prior to Winwaed, Richard worked as a software developer working on seismic processing algorithms for the oil exploration industry. He holds geology and geophysics degrees from the University of Cambridge (Churchill College), and the University of Durham; and an interdisciplinary MBA from the University of Dallas.



Google
 
MP2Kmag Internet


 Recent Discussion
-AutoColor
-SolidThinking Inspire v2016.1.5559 x64-BEAN (17/8)
-Auto FX PhotoGraphic Edges Ultimate Bundle Gen2 v9.6.0 (17/8)
-Mentor Graphics FloEFD 14.2-SSQ (17/8)
-Dlubal RFEM 5.06 (x64) Multilanguage (17/8)
-Bluebeam Revu eXtreme 2018.1 v18.x Multilingual (17/8)
-Autodesk Maya 2018.4 (17/8)
-Adobe Bridge CC 2018 (v8.1) x86-x64 Multilingual Update 2 (17/8)
-Simufact.Welding 4.0.1 (17/8)
-ANSYS Discovery Enterprise 19.1.1 (17/8)
-Aurora SPARK3D v2018
-ANSYS Electromagnetics Suite 17.1 (17/8)
-Solidthinking Inspire v2018.3.0.10526 Multilingual (x64) (17/8)
-Adobe Acrobat Pro DC 2018.011.20058 Multilingual (17/8)
-ANSYS Electromagnetics Suite 17.0 (x64) (17/8)
-GibbsCAM 12.0.29.0 (x64) Multilingual (17/8)
-Autodesk Autocad Mechanical 2019.1 by m0nkrus (17/8)
-Adobe Bridge CC 2018 v8.1 (x86/x64) Update 2 Multilingual (17/8)
-Autodesk AutoCAD Electrical 2019.1 (17/8)
-DS V5R22 CATIA-DELMIA-ENOVIA last hotfixes for all SP (17/8)
-VMware Fusion Pro 10.1.3 Build 9472307 (17/8)
-MAGIX Fotostory easy 2.0.0.35 Germany + English (17/8)
-Ds Simulia Abaqus v6.14-4 (17/8)
-Paragon Drive Copy 15 Professional 10.1.25.779 (x86/x64) (17/8)
-ARCHICAD 21 Build 3005 with Addons
 Resources
Browse GIS books and periodicals
Find a MapPoint Partner or Consultant
Real Estate Columbia, MO Real Estate


Want Your Site To Appear Here?

   © 1999-2012 MP2K. Questions and comments to: website@mp2kmag.com
  Microsoft and MapPoint 2002/2004/2006/2009/2010/2011/2013 are either trademarks or registered trademarks of Microsoft.