About the ArcReaderControl map tools Sample
[C#]
MapTools.cs
using System;
using System.Windows.Forms;
using ESRI.ArcGIS.PublisherControls;
namespace MapTools
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class MapTools : System.Windows.Forms.Form
{
public System.Windows.Forms.Button cmdLoad;
public System.Windows.Forms.TextBox txbPath;
public System.Windows.Forms.Label _Label3_1;
public System.Windows.Forms.Label Label6;
public System.Windows.Forms.Label Label4;
public System.Windows.Forms.Label _Label3_0;
public System.Windows.Forms.Label Label2;
public System.Windows.Forms.Button cmdRedo;
public System.Windows.Forms.Button cmdUndo;
public System.Windows.Forms.Button cmdFullExtent;
public System.Windows.Forms.RadioButton optTool2;
public System.Windows.Forms.RadioButton optTool1;
public System.Windows.Forms.RadioButton optTool0;
private esriARTool arTool;
private ESRI.ArcGIS.PublisherControls.AxArcReaderControl axArcReaderControl1;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public MapTools()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(MapTools));
this.cmdLoad = new System.Windows.Forms.Button();
this.txbPath = new System.Windows.Forms.TextBox();
this._Label3_1 = new System.Windows.Forms.Label();
this.Label6 = new System.Windows.Forms.Label();
this.Label4 = new System.Windows.Forms.Label();
this._Label3_0 = new System.Windows.Forms.Label();
this.Label2 = new System.Windows.Forms.Label();
this.cmdRedo = new System.Windows.Forms.Button();
this.cmdUndo = new System.Windows.Forms.Button();
this.cmdFullExtent = new System.Windows.Forms.Button();
this.optTool2 = new System.Windows.Forms.RadioButton();
this.optTool1 = new System.Windows.Forms.RadioButton();
this.optTool0 = new System.Windows.Forms.RadioButton();
this.axArcReaderControl1 = new ESRI.ArcGIS.PublisherControls.AxArcReaderControl();
((System.ComponentModel.ISupportInitialize)(this.axArcReaderControl1)).BeginInit();
this.SuspendLayout();
//
// cmdLoad
//
this.cmdLoad.BackColor = System.Drawing.SystemColors.Control;
this.cmdLoad.Cursor = System.Windows.Forms.Cursors.Default;
this.cmdLoad.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdLoad.ForeColor = System.Drawing.SystemColors.ControlText;
this.cmdLoad.Location = new System.Drawing.Point(392, 8);
this.cmdLoad.Name = "cmdLoad";
this.cmdLoad.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cmdLoad.Size = new System.Drawing.Size(81, 25);
this.cmdLoad.TabIndex = 4;
this.cmdLoad.Text = "Load PMF";
this.cmdLoad.Click += new System.EventHandler(this.cmdLoad_Click);
//
// txbPath
//
this.txbPath.AcceptsReturn = true;
this.txbPath.AutoSize = false;
this.txbPath.BackColor = System.Drawing.SystemColors.Window;
this.txbPath.Cursor = System.Windows.Forms.Cursors.IBeam;
this.txbPath.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.txbPath.ForeColor = System.Drawing.SystemColors.WindowText;
this.txbPath.Location = new System.Drawing.Point(8, 8);
this.txbPath.MaxLength = 0;
this.txbPath.Name = "txbPath";
this.txbPath.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.txbPath.Size = new System.Drawing.Size(377, 25);
this.txbPath.TabIndex = 3;
this.txbPath.Text = "";
//
// _Label3_1
//
this._Label3_1.BackColor = System.Drawing.SystemColors.Control;
this._Label3_1.Cursor = System.Windows.Forms.Cursors.Default;
this._Label3_1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this._Label3_1.ForeColor = System.Drawing.SystemColors.Highlight;
this._Label3_1.Location = new System.Drawing.Point(488, 120);
this._Label3_1.Name = "_Label3_1";
this._Label3_1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this._Label3_1.Size = new System.Drawing.Size(201, 33);
this._Label3_1.TabIndex = 17;
this._Label3_1.Text = "4) Use the \'Layout\' button to display the layout view. ";
//
// Label6
//
this.Label6.BackColor = System.Drawing.SystemColors.Control;
this.Label6.Cursor = System.Windows.Forms.Cursors.Default;
this.Label6.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Label6.ForeColor = System.Drawing.SystemColors.Highlight;
this.Label6.Location = new System.Drawing.Point(488, 160);
this.Label6.Name = "Label6";
this.Label6.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.Label6.Size = new System.Drawing.Size(201, 56);
this.Label6.TabIndex = 16;
this.Label6.Text = "5) Use the \'tools below to navigate the data within any of the data frames on the" +
" page layout.";
//
// Label4
//
this.Label4.BackColor = System.Drawing.SystemColors.Control;
this.Label4.Cursor = System.Windows.Forms.Cursors.Default;
this.Label4.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Label4.ForeColor = System.Drawing.SystemColors.Highlight;
this.Label4.Location = new System.Drawing.Point(488, 80);
this.Label4.Name = "Label4";
this.Label4.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.Label4.Size = new System.Drawing.Size(201, 33);
this.Label4.TabIndex = 15;
this.Label4.Text = "3) Use the tools below to navigate the focus map.";
//
// _Label3_0
//
this._Label3_0.BackColor = System.Drawing.SystemColors.Control;
this._Label3_0.Cursor = System.Windows.Forms.Cursors.Default;
this._Label3_0.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this._Label3_0.ForeColor = System.Drawing.SystemColors.Highlight;
this._Label3_0.Location = new System.Drawing.Point(488, 40);
this._Label3_0.Name = "_Label3_0";
this._Label3_0.RightToLeft = System.Windows.Forms.RightToLeft.No;
this._Label3_0.Size = new System.Drawing.Size(201, 33);
this._Label3_0.TabIndex = 14;
this._Label3_0.Text = "2) Use the \'Map\' button to display the data view. ";
//
// Label2
//
this.Label2.BackColor = System.Drawing.SystemColors.Control;
this.Label2.Cursor = System.Windows.Forms.Cursors.Default;
this.Label2.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.Label2.ForeColor = System.Drawing.SystemColors.Highlight;
this.Label2.Location = new System.Drawing.Point(488, 8);
this.Label2.Name = "Label2";
this.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.Label2.Size = new System.Drawing.Size(201, 33);
this.Label2.TabIndex = 13;
this.Label2.Text = "1) Enter a valid file path and load the PMF.";
//
// cmdRedo
//
this.cmdRedo.BackColor = System.Drawing.SystemColors.Control;
this.cmdRedo.Cursor = System.Windows.Forms.Cursors.Default;
this.cmdRedo.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdRedo.ForeColor = System.Drawing.SystemColors.ControlText;
this.cmdRedo.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.cmdRedo.Location = new System.Drawing.Point(632, 288);
this.cmdRedo.Name = "cmdRedo";
this.cmdRedo.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cmdRedo.Size = new System.Drawing.Size(64, 49);
this.cmdRedo.TabIndex = 23;
this.cmdRedo.Text = "Redo";
this.cmdRedo.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.cmdRedo.Click += new System.EventHandler(this.cmdRedo_Click);
//
// cmdUndo
//
this.cmdUndo.BackColor = System.Drawing.SystemColors.Control;
this.cmdUndo.Cursor = System.Windows.Forms.Cursors.Default;
this.cmdUndo.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdUndo.ForeColor = System.Drawing.SystemColors.ControlText;
this.cmdUndo.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.cmdUndo.Location = new System.Drawing.Point(560, 288);
this.cmdUndo.Name = "cmdUndo";
this.cmdUndo.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cmdUndo.Size = new System.Drawing.Size(64, 49);
this.cmdUndo.TabIndex = 22;
this.cmdUndo.Text = "Undo";
this.cmdUndo.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.cmdUndo.Click += new System.EventHandler(this.cmdUndo_Click);
//
// cmdFullExtent
//
this.cmdFullExtent.BackColor = System.Drawing.SystemColors.Control;
this.cmdFullExtent.Cursor = System.Windows.Forms.Cursors.Default;
this.cmdFullExtent.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.cmdFullExtent.ForeColor = System.Drawing.SystemColors.ControlText;
this.cmdFullExtent.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.cmdFullExtent.Location = new System.Drawing.Point(488, 288);
this.cmdFullExtent.Name = "cmdFullExtent";
this.cmdFullExtent.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.cmdFullExtent.Size = new System.Drawing.Size(64, 49);
this.cmdFullExtent.TabIndex = 21;
this.cmdFullExtent.Text = "FullExtent";
this.cmdFullExtent.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.cmdFullExtent.Click += new System.EventHandler(this.cmdFullExtent_Click);
//
// optTool2
//
this.optTool2.Appearance = System.Windows.Forms.Appearance.Button;
this.optTool2.BackColor = System.Drawing.SystemColors.Control;
this.optTool2.Cursor = System.Windows.Forms.Cursors.Default;
this.optTool2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.optTool2.ForeColor = System.Drawing.SystemColors.ControlText;
this.optTool2.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.optTool2.Location = new System.Drawing.Point(632, 232);
this.optTool2.Name = "optTool2";
this.optTool2.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.optTool2.Size = new System.Drawing.Size(64, 49);
this.optTool2.TabIndex = 18;
this.optTool2.TabStop = true;
this.optTool2.Text = "Pan";
this.optTool2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.optTool2.Click += new System.EventHandler(this.MixedControls_Click);
//
// optTool1
//
this.optTool1.Appearance = System.Windows.Forms.Appearance.Button;
this.optTool1.BackColor = System.Drawing.SystemColors.Control;
this.optTool1.Cursor = System.Windows.Forms.Cursors.Default;
this.optTool1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.optTool1.ForeColor = System.Drawing.SystemColors.ControlText;
this.optTool1.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.optTool1.Location = new System.Drawing.Point(560, 232);
this.optTool1.Name = "optTool1";
this.optTool1.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.optTool1.Size = new System.Drawing.Size(64, 49);
this.optTool1.TabIndex = 20;
this.optTool1.TabStop = true;
this.optTool1.Text = "ZoomOut";
this.optTool1.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.optTool1.Click += new System.EventHandler(this.MixedControls_Click);
//
// optTool0
//
this.optTool0.Appearance = System.Windows.Forms.Appearance.Button;
this.optTool0.BackColor = System.Drawing.SystemColors.Control;
this.optTool0.Cursor = System.Windows.Forms.Cursors.Default;
this.optTool0.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
this.optTool0.ForeColor = System.Drawing.SystemColors.ControlText;
this.optTool0.ImageAlign = System.Drawing.ContentAlignment.BottomCenter;
this.optTool0.Location = new System.Drawing.Point(488, 232);
this.optTool0.Name = "optTool0";
this.optTool0.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.optTool0.Size = new System.Drawing.Size(64, 49);
this.optTool0.TabIndex = 19;
this.optTool0.TabStop = true;
this.optTool0.Text = "ZoomIn";
this.optTool0.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.optTool0.Click += new System.EventHandler(this.MixedControls_Click);
//
// axArcReaderControl1
//
this.axArcReaderControl1.Location = new System.Drawing.Point(8, 40);
this.axArcReaderControl1.Name = "axArcReaderControl1";
this.axArcReaderControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axArcReaderControl1.OcxState")));
this.axArcReaderControl1.Size = new System.Drawing.Size(464, 432);
this.axArcReaderControl1.TabIndex = 24;
this.axArcReaderControl1.OnAfterScreenDraw += new System.EventHandler(this.axArcReaderControl1_OnAfterScreenDraw);
this.axArcReaderControl1.OnCurrentViewChanged += new ESRI.ArcGIS.PublisherControls.IARControlEvents_Ax_OnCurrentViewChangedEventHandler(this.axArcReaderControl1_OnCurrentViewChanged);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(704, 478);
this.Controls.Add(this.axArcReaderControl1);
this.Controls.Add(this.cmdRedo);
this.Controls.Add(this.cmdUndo);
this.Controls.Add(this.cmdFullExtent);
this.Controls.Add(this.optTool2);
this.Controls.Add(this.optTool1);
this.Controls.Add(this.optTool0);
this.Controls.Add(this._Label3_1);
this.Controls.Add(this.Label6);
this.Controls.Add(this.Label4);
this.Controls.Add(this._Label3_0);
this.Controls.Add(this.Label2);
this.Controls.Add(this.cmdLoad);
this.Controls.Add(this.txbPath);
this.Name = "Form1";
this.Text = "Form1";
this.Closing += new System.ComponentModel.CancelEventHandler(this.Form1_Closing);
this.Load += new System.EventHandler(this.Form1_Load);
((System.ComponentModel.ISupportInitialize)(this.axArcReaderControl1)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
if (!ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.ArcReader))
{
if (!ESRI.ArcGIS.RuntimeManager.Bind(ESRI.ArcGIS.ProductCode.EngineOrDesktop))
{
MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
return;
}
}
Application.Run(new MapTools());
}
private void Form1_Load(object sender, System.EventArgs e)
{
//Load option/command button images
System.Drawing.Bitmap bitmap1 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "ZoomIn.bmp"));
bitmap1.MakeTransparent(System.Drawing.Color.Teal);
optTool0.Image = bitmap1;
System.Drawing.Bitmap bitmap2 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "ZoomOut.bmp"));
bitmap2.MakeTransparent(System.Drawing.Color.Teal);
optTool1.Image = bitmap2;
System.Drawing.Bitmap bitmap3 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "Pan.bmp"));
bitmap3.MakeTransparent(System.Drawing.Color.Teal);
optTool2.Image = bitmap3;
System.Drawing.Bitmap bitmap4 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "FullExtent.bmp"));
bitmap4.MakeTransparent(System.Drawing.Color.Teal);
cmdFullExtent.Image = bitmap4;
System.Drawing.Bitmap bitmap5 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "UnDoDraw.bmp"));
bitmap5.MakeTransparent(System.Drawing.Color.Teal);
cmdUndo.Image = bitmap5;
System.Drawing.Bitmap bitmap6 = new System.Drawing.Bitmap (GetType().Assembly.GetManifestResourceStream(GetType(), "ReDoDraw.bmp"));
bitmap6.MakeTransparent(System.Drawing.Color.Teal);
cmdRedo.Image = bitmap6;
//Disable controls
optTool0.Enabled = false;
optTool1.Enabled = false;
optTool2.Enabled = false;
cmdUndo.Enabled = false;
cmdRedo.Enabled = false;
cmdFullExtent.Enabled = false;
}
private void cmdFullExtent_Click(object sender, System.EventArgs e)
{
//Set extent to full data extent
double xMax = 0;
double xMin = 0;
double yMin = 0;
double yMax = 0;
axArcReaderControl1.ARPageLayout.FocusARMap.GetFullExtent(ref xMin, ref yMin, ref xMax, ref yMax);
axArcReaderControl1.ARPageLayout.FocusARMap.SetExtent(xMin, yMin, xMax, yMax);
//Refresh the display
axArcReaderControl1.ARPageLayout.FocusARMap.Refresh(true);
}
private void cmdLoad_Click(object sender, System.EventArgs e)
{
//Load the specified pmf
if (txbPath.Text == "")
{
return;
}
if (axArcReaderControl1.CheckDocument(txbPath.Text) == true)
{
axArcReaderControl1.LoadDocument(txbPath.Text,"");
}
else
{
MessageBox.Show("This document cannot be loaded!");
return;
}
optTool0.Checked = true;
}
private void cmdRedo_Click(object sender, System.EventArgs e)
{
//Redo extent
axArcReaderControl1.ARPageLayout.FocusARMap.RedoExtent();
}
private void cmdUndo_Click(object sender, System.EventArgs e)
{
//Undo extent
axArcReaderControl1.ARPageLayout.FocusARMap.UndoExtent();
}
private void axArcReaderControl1_OnAfterScreenDraw(object sender, System.EventArgs e)
{
//Determine whether can undo/redo extent and enable/disbale control
cmdUndo.Enabled = axArcReaderControl1.ARPageLayout.FocusARMap.CanUndoExtent;
cmdRedo.Enabled = axArcReaderControl1.ARPageLayout.FocusARMap.CanRedoExtent;
}
private void axArcReaderControl1_OnCurrentViewChanged(object sender, ESRI.ArcGIS.PublisherControls.IARControlEvents_OnCurrentViewChangedEvent e)
{
bool bEnabled = false;
//Determine view type
if (axArcReaderControl1.CurrentViewType != esriARViewType.esriARViewTypeNone)
{
bEnabled = true;
//Update the current tool if necessary
if (axArcReaderControl1.CurrentARTool != arTool)
{
axArcReaderControl1.CurrentARTool = arTool;
}
}
//Enable/ disable controls
optTool0.Enabled = bEnabled;
optTool1.Enabled = bEnabled;
optTool2.Enabled = bEnabled;
cmdFullExtent.Enabled = bEnabled;
}
private void MixedControls_Click(object sender, System.EventArgs e)
{
RadioButton b = (RadioButton) sender;
//Set current tool
switch (b.Name)
{
case "optTool0":
axArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapZoomIn;
break;
case "optTool1":
axArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapZoomOut;
break;
case "optTool2":
axArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapPan;
break;
}
//Remember the current tool
arTool = axArcReaderControl1.CurrentARTool;
}
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
//Release COM objects
ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown();
}
}
}
[Visual Basic .NET]
MapTools.vb
Imports ESRI.ArcGIS.PublisherControls
Imports ESRI.ArcGIS
Public Class MapTools
Inherits System.Windows.Forms.Form
#Region "Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'Load runtime
If Not RuntimeManager.Bind(ProductCode.ArcReader) Then
If Not RuntimeManager.Bind(ProductCode.EngineOrDesktop) Then
MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.")
System.Environment.Exit(1) ' Force exit
End If
End If
'This call is required by the Windows Form Designer.
InitializeComponent()
End Sub
'Form overrides dispose to clean up the component list.
Protected Overloads Overrides Sub Dispose(ByVal Disposing As Boolean)
If Disposing Then
If Not components Is Nothing Then
components.Dispose()
End If
End If
MyBase.Dispose(Disposing)
End Sub
'Required by the Windows Form Designer
Private components As System.ComponentModel.IContainer
Public WithEvents cmdRedo As System.Windows.Forms.Button
Public WithEvents cmdUndo As System.Windows.Forms.Button
Public WithEvents cmdFullExtent As System.Windows.Forms.Button
Public WithEvents cmdLoad As System.Windows.Forms.Button
Public WithEvents txbPath As System.Windows.Forms.TextBox
Public WithEvents _Label3_1 As System.Windows.Forms.Label
Public WithEvents Label6 As System.Windows.Forms.Label
Public WithEvents Label4 As System.Windows.Forms.Label
Public WithEvents _Label3_0 As System.Windows.Forms.Label
Public WithEvents Label2 As System.Windows.Forms.Label
'NOTE: The following procedure is required by the Windows Form Designer
'It can be modified using the Windows Form Designer.
'Do not modify it using the code editor.
Public WithEvents optTool2 As System.Windows.Forms.RadioButton
Public WithEvents optTool1 As System.Windows.Forms.RadioButton
Public WithEvents optTool0 As System.Windows.Forms.RadioButton
Friend WithEvents AxArcReaderControl1 As ESRI.ArcGIS.PublisherControls.AxArcReaderControl
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(MapTools))
Me.cmdRedo = New System.Windows.Forms.Button
Me.cmdUndo = New System.Windows.Forms.Button
Me.cmdFullExtent = New System.Windows.Forms.Button
Me.optTool2 = New System.Windows.Forms.RadioButton
Me.optTool1 = New System.Windows.Forms.RadioButton
Me.optTool0 = New System.Windows.Forms.RadioButton
Me.cmdLoad = New System.Windows.Forms.Button
Me.txbPath = New System.Windows.Forms.TextBox
Me._Label3_1 = New System.Windows.Forms.Label
Me.Label6 = New System.Windows.Forms.Label
Me.Label4 = New System.Windows.Forms.Label
Me._Label3_0 = New System.Windows.Forms.Label
Me.Label2 = New System.Windows.Forms.Label
Me.AxArcReaderControl1 = New ESRI.ArcGIS.PublisherControls.AxArcReaderControl
CType(Me.AxArcReaderControl1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'cmdRedo
'
Me.cmdRedo.BackColor = System.Drawing.SystemColors.Control
Me.cmdRedo.Cursor = System.Windows.Forms.Cursors.Default
Me.cmdRedo.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmdRedo.ForeColor = System.Drawing.SystemColors.ControlText
Me.cmdRedo.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.cmdRedo.Location = New System.Drawing.Point(616, 288)
Me.cmdRedo.Name = "cmdRedo"
Me.cmdRedo.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.cmdRedo.Size = New System.Drawing.Size(64, 49)
Me.cmdRedo.TabIndex = 11
Me.cmdRedo.Text = "Redo"
Me.cmdRedo.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'cmdUndo
'
Me.cmdUndo.BackColor = System.Drawing.SystemColors.Control
Me.cmdUndo.Cursor = System.Windows.Forms.Cursors.Default
Me.cmdUndo.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmdUndo.ForeColor = System.Drawing.SystemColors.ControlText
Me.cmdUndo.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.cmdUndo.Location = New System.Drawing.Point(544, 288)
Me.cmdUndo.Name = "cmdUndo"
Me.cmdUndo.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.cmdUndo.Size = New System.Drawing.Size(64, 49)
Me.cmdUndo.TabIndex = 10
Me.cmdUndo.Text = "Undo"
Me.cmdUndo.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'cmdFullExtent
'
Me.cmdFullExtent.BackColor = System.Drawing.SystemColors.Control
Me.cmdFullExtent.Cursor = System.Windows.Forms.Cursors.Default
Me.cmdFullExtent.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmdFullExtent.ForeColor = System.Drawing.SystemColors.ControlText
Me.cmdFullExtent.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.cmdFullExtent.Location = New System.Drawing.Point(472, 288)
Me.cmdFullExtent.Name = "cmdFullExtent"
Me.cmdFullExtent.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.cmdFullExtent.Size = New System.Drawing.Size(64, 49)
Me.cmdFullExtent.TabIndex = 9
Me.cmdFullExtent.Text = "FullExtent"
Me.cmdFullExtent.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'optTool2
'
Me.optTool2.Appearance = System.Windows.Forms.Appearance.Button
Me.optTool2.BackColor = System.Drawing.SystemColors.Control
Me.optTool2.Cursor = System.Windows.Forms.Cursors.Default
Me.optTool2.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.optTool2.ForeColor = System.Drawing.SystemColors.ControlText
Me.optTool2.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.optTool2.Location = New System.Drawing.Point(616, 232)
Me.optTool2.Name = "optTool2"
Me.optTool2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.optTool2.Size = New System.Drawing.Size(64, 49)
Me.optTool2.TabIndex = 0
Me.optTool2.TabStop = True
Me.optTool2.Text = "Pan"
Me.optTool2.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'optTool1
'
Me.optTool1.Appearance = System.Windows.Forms.Appearance.Button
Me.optTool1.BackColor = System.Drawing.SystemColors.Control
Me.optTool1.Cursor = System.Windows.Forms.Cursors.Default
Me.optTool1.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.optTool1.ForeColor = System.Drawing.SystemColors.ControlText
Me.optTool1.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.optTool1.Location = New System.Drawing.Point(544, 232)
Me.optTool1.Name = "optTool1"
Me.optTool1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.optTool1.Size = New System.Drawing.Size(64, 49)
Me.optTool1.TabIndex = 8
Me.optTool1.TabStop = True
Me.optTool1.Text = "ZoomOut"
Me.optTool1.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'optTool0
'
Me.optTool0.Appearance = System.Windows.Forms.Appearance.Button
Me.optTool0.BackColor = System.Drawing.SystemColors.Control
Me.optTool0.Cursor = System.Windows.Forms.Cursors.Default
Me.optTool0.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.optTool0.ForeColor = System.Drawing.SystemColors.ControlText
Me.optTool0.ImageAlign = System.Drawing.ContentAlignment.BottomCenter
Me.optTool0.Location = New System.Drawing.Point(472, 232)
Me.optTool0.Name = "optTool0"
Me.optTool0.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.optTool0.Size = New System.Drawing.Size(64, 49)
Me.optTool0.TabIndex = 7
Me.optTool0.TabStop = True
Me.optTool0.Text = "ZoomIn"
Me.optTool0.TextAlign = System.Drawing.ContentAlignment.TopCenter
'
'cmdLoad
'
Me.cmdLoad.BackColor = System.Drawing.SystemColors.Control
Me.cmdLoad.Cursor = System.Windows.Forms.Cursors.Default
Me.cmdLoad.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.cmdLoad.ForeColor = System.Drawing.SystemColors.ControlText
Me.cmdLoad.Location = New System.Drawing.Point(392, 8)
Me.cmdLoad.Name = "cmdLoad"
Me.cmdLoad.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.cmdLoad.Size = New System.Drawing.Size(81, 25)
Me.cmdLoad.TabIndex = 2
Me.cmdLoad.Text = "Load PMF"
'
'txbPath
'
Me.txbPath.AcceptsReturn = True
Me.txbPath.AutoSize = False
Me.txbPath.BackColor = System.Drawing.SystemColors.Window
Me.txbPath.Cursor = System.Windows.Forms.Cursors.IBeam
Me.txbPath.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.txbPath.ForeColor = System.Drawing.SystemColors.WindowText
Me.txbPath.Location = New System.Drawing.Point(8, 8)
Me.txbPath.MaxLength = 0
Me.txbPath.Name = "txbPath"
Me.txbPath.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.txbPath.Size = New System.Drawing.Size(377, 25)
Me.txbPath.TabIndex = 1
Me.txbPath.Text = ""
'
'_Label3_1
'
Me._Label3_1.BackColor = System.Drawing.SystemColors.Control
Me._Label3_1.Cursor = System.Windows.Forms.Cursors.Default
Me._Label3_1.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me._Label3_1.ForeColor = System.Drawing.SystemColors.Highlight
Me._Label3_1.Location = New System.Drawing.Point(488, 128)
Me._Label3_1.Name = "_Label3_1"
Me._Label3_1.RightToLeft = System.Windows.Forms.RightToLeft.No
Me._Label3_1.Size = New System.Drawing.Size(201, 33)
Me._Label3_1.TabIndex = 12
Me._Label3_1.Text = "4) Use the 'Layout' button to display the layout view. "
'
'Label6
'
Me.Label6.BackColor = System.Drawing.SystemColors.Control
Me.Label6.Cursor = System.Windows.Forms.Cursors.Default
Me.Label6.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label6.ForeColor = System.Drawing.SystemColors.Highlight
Me.Label6.Location = New System.Drawing.Point(488, 168)
Me.Label6.Name = "Label6"
Me.Label6.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label6.Size = New System.Drawing.Size(201, 56)
Me.Label6.TabIndex = 6
Me.Label6.Text = "5) Use the 'tools below to navigate the data within any of the data frames on the" & _
" page layout."
'
'Label4
'
Me.Label4.BackColor = System.Drawing.SystemColors.Control
Me.Label4.Cursor = System.Windows.Forms.Cursors.Default
Me.Label4.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label4.ForeColor = System.Drawing.SystemColors.Highlight
Me.Label4.Location = New System.Drawing.Point(488, 88)
Me.Label4.Name = "Label4"
Me.Label4.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label4.Size = New System.Drawing.Size(201, 33)
Me.Label4.TabIndex = 5
Me.Label4.Text = "3) Use the tools below to navigate the focus map."
'
'_Label3_0
'
Me._Label3_0.BackColor = System.Drawing.SystemColors.Control
Me._Label3_0.Cursor = System.Windows.Forms.Cursors.Default
Me._Label3_0.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me._Label3_0.ForeColor = System.Drawing.SystemColors.Highlight
Me._Label3_0.Location = New System.Drawing.Point(488, 50)
Me._Label3_0.Name = "_Label3_0"
Me._Label3_0.RightToLeft = System.Windows.Forms.RightToLeft.No
Me._Label3_0.Size = New System.Drawing.Size(201, 33)
Me._Label3_0.TabIndex = 4
Me._Label3_0.Text = "2) Use the 'Map' button to display the data view. "
'
'Label2
'
Me.Label2.BackColor = System.Drawing.SystemColors.Control
Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
Me.Label2.Font = New System.Drawing.Font("Verdana", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label2.ForeColor = System.Drawing.SystemColors.Highlight
Me.Label2.Location = New System.Drawing.Point(488, 16)
Me.Label2.Name = "Label2"
Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Label2.Size = New System.Drawing.Size(201, 33)
Me.Label2.TabIndex = 3
Me.Label2.Text = "1) Enter a valid file path and load the PMF."
'
'AxArcReaderControl1
'
Me.AxArcReaderControl1.Location = New System.Drawing.Point(8, 40)
Me.AxArcReaderControl1.Name = "AxArcReaderControl1"
Me.AxArcReaderControl1.OcxState = CType(resources.GetObject("AxArcReaderControl1.OcxState"), System.Windows.Forms.AxHost.State)
Me.AxArcReaderControl1.Size = New System.Drawing.Size(464, 448)
Me.AxArcReaderControl1.TabIndex = 13
'
'Form1
'
Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
Me.BackColor = System.Drawing.SystemColors.Control
Me.ClientSize = New System.Drawing.Size(687, 498)
Me.Controls.Add(Me.AxArcReaderControl1)
Me.Controls.Add(Me.cmdRedo)
Me.Controls.Add(Me.cmdUndo)
Me.Controls.Add(Me.cmdFullExtent)
Me.Controls.Add(Me.optTool2)
Me.Controls.Add(Me.optTool1)
Me.Controls.Add(Me.optTool0)
Me.Controls.Add(Me.cmdLoad)
Me.Controls.Add(Me.txbPath)
Me.Controls.Add(Me._Label3_1)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.Label4)
Me.Controls.Add(Me._Label3_0)
Me.Controls.Add(Me.Label2)
Me.Cursor = System.Windows.Forms.Cursors.Default
Me.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle
Me.Location = New System.Drawing.Point(3, 22)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "Form1"
Me.RightToLeft = System.Windows.Forms.RightToLeft.No
Me.Text = "Map Tools"
CType(Me.AxArcReaderControl1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
End Sub
#End Region
Dim pARTool As esriARTool
Private Sub cmdFullExtent_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdFullExtent.Click
'Set extent to full data extent
Dim xMax, xMin, yMin, yMax As Double
AxArcReaderControl1.ARPageLayout.FocusARMap.GetFullExtent(xMin, yMin, xMax, yMax)
AxArcReaderControl1.ARPageLayout.FocusARMap.SetExtent(xMin, yMin, xMax, yMax)
'Refresh the display
AxArcReaderControl1.ARPageLayout.FocusARMap.Refresh()
End Sub
Private Sub cmdLoad_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdLoad.Click
'Load the specified pmf
If txbPath.Text = "" Then Exit Sub
If AxArcReaderControl1.CheckDocument(txbPath.Text) = True Then
AxArcReaderControl1.LoadDocument(txbPath.Text)
Else
MsgBox("This document cannot be loaded!")
Exit Sub
End If
optTool0.Checked = True
End Sub
Private Sub cmdRedo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdRedo.Click
'Redo extent
AxArcReaderControl1.ARPageLayout.FocusARMap.RedoExtent()
End Sub
Private Sub cmdUndo_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdUndo.Click
'Undo extent
AxArcReaderControl1.ARPageLayout.FocusARMap.UndoExtent()
End Sub
Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
'Load option/command button images
Dim pImage As System.Drawing.Image
Dim pBitmap As System.Drawing.Bitmap
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "ZoomIn.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
optTool0.Image = pImage
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "ZoomOut.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
optTool1.Image = pImage
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "Pan.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
optTool2.Image = pImage
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "FullExtent.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
cmdFullExtent.Image = pImage
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "UnDoDraw.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
cmdUndo.Image = pImage
pImage = New System.Drawing.Bitmap(GetType(MapTools).Assembly.GetManifestResourceStream(GetType(MapTools), "ReDoDraw.bmp"))
pBitmap = pImage
pBitmap.MakeTransparent(System.Drawing.Color.Teal)
cmdRedo.Image = pImage
'Disable controls
optTool0.Enabled = False
optTool1.Enabled = False
optTool2.Enabled = False
cmdUndo.Enabled = False
cmdRedo.Enabled = False
cmdFullExtent.Enabled = False
End Sub
Private Sub AxArcReaderControl1_OnAfterScreenDraw(ByVal sender As Object, ByVal e As System.EventArgs) Handles AxArcReaderControl1.OnAfterScreenDraw
Dim bEnabled As Boolean
'Determine whether can undo/redo extent and enable/disbale control
If AxArcReaderControl1.ARPageLayout.FocusARMap.CanUndoExtent = True Then bEnabled = True Else bEnabled = False
cmdUndo.Enabled = bEnabled
If AxArcReaderControl1.ARPageLayout.FocusARMap.CanRedoExtent = True Then bEnabled = True Else bEnabled = False
cmdRedo.Enabled = bEnabled
End Sub
Private Sub AxArcReaderControl1_OnCurrentViewChanged(ByVal sender As Object, ByVal e As ESRI.ArcGIS.PublisherControls.IARControlEvents_OnCurrentViewChangedEvent) Handles AxArcReaderControl1.OnCurrentViewChanged
Dim bEnabled As Boolean
'Determine view type
If AxArcReaderControl1.CurrentViewType = esriARViewType.esriARViewTypeNone Then
bEnabled = False
Else
bEnabled = True
'Update the current tool if necessary
If AxArcReaderControl1.CurrentARTool <> pARTool Then
AxArcReaderControl1.CurrentARTool = pARTool
End If
End If
'Enable/ disable controls
optTool0.Enabled = bEnabled
optTool1.Enabled = bEnabled
optTool2.Enabled = bEnabled
cmdFullExtent.Enabled = bEnabled
End Sub
Private Sub MixedControls_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTool0.Click, optTool1.Click, optTool2.Click
Dim senderName As String
senderName = sender.Name
Select Case senderName
'Set current tool
Case "optTool0"
AxArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapZoomIn
Case "optTool1"
AxArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapZoomOut
Case "optTool2"
AxArcReaderControl1.CurrentARTool = esriARTool.esriARToolMapPan
End Select
'Remember the current tool
pARTool = AxArcReaderControl1.CurrentARTool
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
'Release COM objects
ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown()
End Sub
End Class