ArcObjects Library Reference  

Effects

About the Effects in the GlobeControl Sample

[C#]

Effects.cs

using System;
using System.Windows.Forms;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.GlobeCore;
using ESRI.ArcGIS.Display;
using ESRI.ArcGIS.SystemUI;
using ESRI.ArcGIS.Analyst3D;
using ESRI.ArcGIS;


namespace GlobeControlEffects
{
	/// <summary>
	/// Summary description for Form1.
	/// </summary>
	public class Effects : System.Windows.Forms.Form
	{
		public System.Windows.Forms.GroupBox Frame2_1;
		public System.Windows.Forms.Label lblDelay;
		public System.Windows.Forms.TextBox TxtTipDelay;
		public System.Windows.Forms.ComboBox cmbTipType;
		public System.Windows.Forms.CheckBox ChkHUD;
		public System.Windows.Forms.CheckBox ChkArrow;
		public System.Windows.Forms.CheckBox ChkTip;
		public System.Windows.Forms.Label LblTips;
		public System.Windows.Forms.GroupBox Frame2;
		public System.Windows.Forms.Label lblLatVal;
		public System.Windows.Forms.Label LblLonVal;
		public System.Windows.Forms.Label LblAltVal;
		public System.Windows.Forms.Label LblLat;
		public System.Windows.Forms.Label LblLon;
		public System.Windows.Forms.Label LblALt;
		public System.Windows.Forms.GroupBox _Frame2_0;
		public System.Windows.Forms.Button CmdAmbient;
		public System.Windows.Forms.TextBox TxtAmbient;
		public System.Windows.Forms.Button CmdSetSun;
		public System.Windows.Forms.CheckBox chkSun;
		public System.Windows.Forms.Label Label2;

		private esriGlobeTipsType m_penumTips;
		private System.Windows.Forms.ColorDialog colorDialog1; 
		private IGlobeDisplayEvents_AfterDrawEventHandler afterDrawE;
		private ESRI.ArcGIS.Controls.AxToolbarControl axToolbarControl1;
		private ESRI.ArcGIS.Controls.AxTOCControl axTOCControl1;
		private ESRI.ArcGIS.Controls.AxGlobeControl axGlobeControl1;
		private ESRI.ArcGIS.Controls.AxLicenseControl axLicenseControl1;
		/// <summary>
		/// Required designer variable.
		/// </summary>
		private System.ComponentModel.Container components = null;

		public Effects()
		{
			//
			// 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 )
		{
            //Release COM objects
            ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown();
			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(Effects));
			this.Frame2_1 = new System.Windows.Forms.GroupBox();
			this.lblDelay = new System.Windows.Forms.Label();
			this.TxtTipDelay = new System.Windows.Forms.TextBox();
			this.cmbTipType = new System.Windows.Forms.ComboBox();
			this.ChkHUD = new System.Windows.Forms.CheckBox();
			this.ChkArrow = new System.Windows.Forms.CheckBox();
			this.ChkTip = new System.Windows.Forms.CheckBox();
			this.LblTips = new System.Windows.Forms.Label();
			this.Frame2 = new System.Windows.Forms.GroupBox();
			this.lblLatVal = new System.Windows.Forms.Label();
			this.LblLonVal = new System.Windows.Forms.Label();
			this.LblAltVal = new System.Windows.Forms.Label();
			this.LblLat = new System.Windows.Forms.Label();
			this.LblLon = new System.Windows.Forms.Label();
			this.LblALt = new System.Windows.Forms.Label();
			this._Frame2_0 = new System.Windows.Forms.GroupBox();
			this.CmdAmbient = new System.Windows.Forms.Button();
			this.TxtAmbient = new System.Windows.Forms.TextBox();
			this.CmdSetSun = new System.Windows.Forms.Button();
			this.chkSun = new System.Windows.Forms.CheckBox();
			this.Label2 = new System.Windows.Forms.Label();
			this.colorDialog1 = new System.Windows.Forms.ColorDialog();
			this.axToolbarControl1 = new ESRI.ArcGIS.Controls.AxToolbarControl();
			this.axTOCControl1 = new ESRI.ArcGIS.Controls.AxTOCControl();
			this.axGlobeControl1 = new ESRI.ArcGIS.Controls.AxGlobeControl();
			this.axLicenseControl1 = new ESRI.ArcGIS.Controls.AxLicenseControl();
			this.Frame2_1.SuspendLayout();
			this.Frame2.SuspendLayout();
			this._Frame2_0.SuspendLayout();
			((System.ComponentModel.ISupportInitialize)(this.axToolbarControl1)).BeginInit();
			((System.ComponentModel.ISupportInitialize)(this.axTOCControl1)).BeginInit();
			((System.ComponentModel.ISupportInitialize)(this.axGlobeControl1)).BeginInit();
			((System.ComponentModel.ISupportInitialize)(this.axLicenseControl1)).BeginInit();
			this.SuspendLayout();
			// 
			// Frame2_1
			// 
			this.Frame2_1.BackColor = System.Drawing.SystemColors.Control;
			this.Frame2_1.Controls.Add(this.lblDelay);
			this.Frame2_1.Controls.Add(this.TxtTipDelay);
			this.Frame2_1.Controls.Add(this.cmbTipType);
			this.Frame2_1.Controls.Add(this.ChkHUD);
			this.Frame2_1.Controls.Add(this.ChkArrow);
			this.Frame2_1.Controls.Add(this.ChkTip);
			this.Frame2_1.Controls.Add(this.LblTips);
			this.Frame2_1.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.Frame2_1.ForeColor = System.Drawing.SystemColors.ControlText;
			this.Frame2_1.Location = new System.Drawing.Point(256, 376);
			this.Frame2_1.Name = "Frame2_1";
			this.Frame2_1.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.Frame2_1.Size = new System.Drawing.Size(224, 69);
			this.Frame2_1.TabIndex = 16;
			this.Frame2_1.TabStop = false;
			this.Frame2_1.Text = "HUD";
			// 
			// lblDelay
			// 
			this.lblDelay.BackColor = System.Drawing.SystemColors.Control;
			this.lblDelay.Cursor = System.Windows.Forms.Cursors.Default;
			this.lblDelay.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.lblDelay.ForeColor = System.Drawing.SystemColors.ControlText;
			this.lblDelay.Location = new System.Drawing.Point(136, 9);
			this.lblDelay.Name = "lblDelay";
			this.lblDelay.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.lblDelay.Size = new System.Drawing.Size(72, 13);
			this.lblDelay.TabIndex = 18;
			this.lblDelay.Text = "Delay(mSec.)";
			// 
			// TxtTipDelay
			// 
			this.TxtTipDelay.AcceptsReturn = true;
			this.TxtTipDelay.AutoSize = false;
			this.TxtTipDelay.BackColor = System.Drawing.SystemColors.Window;
			this.TxtTipDelay.Cursor = System.Windows.Forms.Cursors.IBeam;
			this.TxtTipDelay.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.TxtTipDelay.ForeColor = System.Drawing.SystemColors.WindowText;
			this.TxtTipDelay.Location = new System.Drawing.Point(160, 24);
			this.TxtTipDelay.MaxLength = 0;
			this.TxtTipDelay.Name = "TxtTipDelay";
			this.TxtTipDelay.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.TxtTipDelay.Size = new System.Drawing.Size(48, 15);
			this.TxtTipDelay.TabIndex = 16;
			this.TxtTipDelay.Text = "500";
			// 
			// cmbTipType
			// 
			this.cmbTipType.BackColor = System.Drawing.SystemColors.Window;
			this.cmbTipType.Cursor = System.Windows.Forms.Cursors.Default;
			this.cmbTipType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
			this.cmbTipType.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.cmbTipType.ForeColor = System.Drawing.SystemColors.WindowText;
			this.cmbTipType.Location = new System.Drawing.Point(69, 42);
			this.cmbTipType.Name = "cmbTipType";
			this.cmbTipType.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.cmbTipType.Size = new System.Drawing.Size(139, 22);
			this.cmbTipType.TabIndex = 17;
			this.cmbTipType.SelectedIndexChanged += new System.EventHandler(this.cmbTipType_SelectedIndexChanged);
			// 
			// ChkHUD
			// 
			this.ChkHUD.BackColor = System.Drawing.SystemColors.Control;
			this.ChkHUD.Cursor = System.Windows.Forms.Cursors.Default;
			this.ChkHUD.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.ChkHUD.ForeColor = System.Drawing.SystemColors.ControlText;
			this.ChkHUD.Location = new System.Drawing.Point(13, 19);
			this.ChkHUD.Name = "ChkHUD";
			this.ChkHUD.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.ChkHUD.Size = new System.Drawing.Size(51, 16);
			this.ChkHUD.TabIndex = 15;
			this.ChkHUD.Text = "HUD";
			this.ChkHUD.CheckedChanged += new System.EventHandler(this.ChkHUD_CheckedChanged);
			// 
			// ChkArrow
			// 
			this.ChkArrow.BackColor = System.Drawing.SystemColors.Control;
			this.ChkArrow.Cursor = System.Windows.Forms.Cursors.Default;
			this.ChkArrow.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.ChkArrow.ForeColor = System.Drawing.SystemColors.ControlText;
			this.ChkArrow.Location = new System.Drawing.Point(13, 33);
			this.ChkArrow.Name = "ChkArrow";
			this.ChkArrow.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.ChkArrow.Size = new System.Drawing.Size(59, 31);
			this.ChkArrow.TabIndex = 14;
			this.ChkArrow.Text = "North Arrow";
			this.ChkArrow.CheckedChanged += new System.EventHandler(this.ChkArrow_CheckedChanged);
			// 
			// ChkTip
			// 
			this.ChkTip.BackColor = System.Drawing.SystemColors.Control;
			this.ChkTip.Cursor = System.Windows.Forms.Cursors.Default;
			this.ChkTip.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.ChkTip.ForeColor = System.Drawing.SystemColors.ControlText;
			this.ChkTip.Location = new System.Drawing.Point(69, 25);
			this.ChkTip.Name = "ChkTip";
			this.ChkTip.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.ChkTip.Size = new System.Drawing.Size(14, 15);
			this.ChkTip.TabIndex = 20;
			this.ChkTip.Text = "Check1";
			this.ChkTip.CheckedChanged += new System.EventHandler(this.ChkTip_CheckedChanged);
			// 
			// LblTips
			// 
			this.LblTips.BackColor = System.Drawing.SystemColors.Control;
			this.LblTips.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblTips.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblTips.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblTips.Location = new System.Drawing.Point(84, 16);
			this.LblTips.Name = "LblTips";
			this.LblTips.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblTips.Size = new System.Drawing.Size(58, 28);
			this.LblTips.TabIndex = 19;
			this.LblTips.Text = "Enable Globe Tips";
			// 
			// Frame2
			// 
			this.Frame2.BackColor = System.Drawing.SystemColors.Control;
			this.Frame2.Controls.Add(this.lblLatVal);
			this.Frame2.Controls.Add(this.LblLonVal);
			this.Frame2.Controls.Add(this.LblAltVal);
			this.Frame2.Controls.Add(this.LblLat);
			this.Frame2.Controls.Add(this.LblLon);
			this.Frame2.Controls.Add(this.LblALt);
			this.Frame2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.Frame2.ForeColor = System.Drawing.SystemColors.ControlText;
			this.Frame2.Location = new System.Drawing.Point(488, 376);
			this.Frame2.Name = "Frame2";
			this.Frame2.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.Frame2.Size = new System.Drawing.Size(236, 69);
			this.Frame2.TabIndex = 15;
			this.Frame2.TabStop = false;
			this.Frame2.Text = "Alternate HUD";
			// 
			// lblLatVal
			// 
			this.lblLatVal.BackColor = System.Drawing.SystemColors.Control;
			this.lblLatVal.Cursor = System.Windows.Forms.Cursors.Default;
			this.lblLatVal.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.lblLatVal.ForeColor = System.Drawing.SystemColors.ControlText;
			this.lblLatVal.Location = new System.Drawing.Point(33, 30);
			this.lblLatVal.Name = "lblLatVal";
			this.lblLatVal.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.lblLatVal.Size = new System.Drawing.Size(86, 13);
			this.lblLatVal.TabIndex = 9;
			this.lblLatVal.Text = "lblLatVal";
			// 
			// LblLonVal
			// 
			this.LblLonVal.BackColor = System.Drawing.SystemColors.Control;
			this.LblLonVal.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblLonVal.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblLonVal.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblLonVal.Location = new System.Drawing.Point(33, 45);
			this.LblLonVal.Name = "LblLonVal";
			this.LblLonVal.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblLonVal.Size = new System.Drawing.Size(86, 13);
			this.LblLonVal.TabIndex = 7;
			this.LblLonVal.Text = "LblLonVal";
			// 
			// LblAltVal
			// 
			this.LblAltVal.BackColor = System.Drawing.SystemColors.Control;
			this.LblAltVal.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblAltVal.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblAltVal.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblAltVal.Location = new System.Drawing.Point(134, 44);
			this.LblAltVal.Name = "LblAltVal";
			this.LblAltVal.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblAltVal.Size = new System.Drawing.Size(86, 11);
			this.LblAltVal.TabIndex = 8;
			this.LblAltVal.Text = "LblAltVal";
			// 
			// LblLat
			// 
			this.LblLat.BackColor = System.Drawing.SystemColors.Control;
			this.LblLat.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblLat.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblLat.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblLat.Location = new System.Drawing.Point(8, 32);
			this.LblLat.Name = "LblLat";
			this.LblLat.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblLat.Size = new System.Drawing.Size(24, 15);
			this.LblLat.TabIndex = 12;
			this.LblLat.Text = "Lat:";
			// 
			// LblLon
			// 
			this.LblLon.BackColor = System.Drawing.SystemColors.Control;
			this.LblLon.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblLon.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblLon.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblLon.Location = new System.Drawing.Point(9, 46);
			this.LblLon.Name = "LblLon";
			this.LblLon.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblLon.Size = new System.Drawing.Size(27, 16);
			this.LblLon.TabIndex = 11;
			this.LblLon.Text = "Lon:";
			// 
			// LblALt
			// 
			this.LblALt.BackColor = System.Drawing.SystemColors.Control;
			this.LblALt.Cursor = System.Windows.Forms.Cursors.Default;
			this.LblALt.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.LblALt.ForeColor = System.Drawing.SystemColors.ControlText;
			this.LblALt.Location = new System.Drawing.Point(133, 23);
			this.LblALt.Name = "LblALt";
			this.LblALt.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.LblALt.Size = new System.Drawing.Size(83, 19);
			this.LblALt.TabIndex = 10;
			this.LblALt.Text = "Alt (in Kms.)";
			// 
			// _Frame2_0
			// 
			this._Frame2_0.BackColor = System.Drawing.SystemColors.Control;
			this._Frame2_0.Controls.Add(this.CmdAmbient);
			this._Frame2_0.Controls.Add(this.TxtAmbient);
			this._Frame2_0.Controls.Add(this.CmdSetSun);
			this._Frame2_0.Controls.Add(this.chkSun);
			this._Frame2_0.Controls.Add(this.Label2);
			this._Frame2_0.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this._Frame2_0.ForeColor = System.Drawing.SystemColors.ControlText;
			this._Frame2_0.Location = new System.Drawing.Point(8, 376);
			this._Frame2_0.Name = "_Frame2_0";
			this._Frame2_0.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this._Frame2_0.Size = new System.Drawing.Size(236, 69);
			this._Frame2_0.TabIndex = 14;
			this._Frame2_0.TabStop = false;
			this._Frame2_0.Text = "Sun and Ambient Light Prop";
			// 
			// CmdAmbient
			// 
			this.CmdAmbient.BackColor = System.Drawing.SystemColors.Control;
			this.CmdAmbient.Cursor = System.Windows.Forms.Cursors.Default;
			this.CmdAmbient.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.CmdAmbient.ForeColor = System.Drawing.SystemColors.ControlText;
			this.CmdAmbient.Location = new System.Drawing.Point(10, 43);
			this.CmdAmbient.Name = "CmdAmbient";
			this.CmdAmbient.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.CmdAmbient.Size = new System.Drawing.Size(78, 22);
			this.CmdAmbient.TabIndex = 4;
			this.CmdAmbient.Text = "Set Ambient";
			this.CmdAmbient.Click += new System.EventHandler(this.CmdAmbient_Click);
			// 
			// TxtAmbient
			// 
			this.TxtAmbient.AcceptsReturn = true;
			this.TxtAmbient.AutoSize = false;
			this.TxtAmbient.BackColor = System.Drawing.SystemColors.Window;
			this.TxtAmbient.Cursor = System.Windows.Forms.Cursors.IBeam;
			this.TxtAmbient.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.TxtAmbient.ForeColor = System.Drawing.SystemColors.WindowText;
			this.TxtAmbient.Location = new System.Drawing.Point(168, 45);
			this.TxtAmbient.MaxLength = 0;
			this.TxtAmbient.Name = "TxtAmbient";
			this.TxtAmbient.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.TxtAmbient.Size = new System.Drawing.Size(48, 20);
			this.TxtAmbient.TabIndex = 3;
			this.TxtAmbient.Text = "";
			// 
			// CmdSetSun
			// 
			this.CmdSetSun.BackColor = System.Drawing.SystemColors.Control;
			this.CmdSetSun.Cursor = System.Windows.Forms.Cursors.Default;
			this.CmdSetSun.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.CmdSetSun.ForeColor = System.Drawing.SystemColors.ControlText;
			this.CmdSetSun.Location = new System.Drawing.Point(144, 15);
			this.CmdSetSun.Name = "CmdSetSun";
			this.CmdSetSun.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.CmdSetSun.Size = new System.Drawing.Size(80, 20);
			this.CmdSetSun.TabIndex = 2;
			this.CmdSetSun.Text = "Set Sun Color";
			this.CmdSetSun.Click += new System.EventHandler(this.CmdSetSun_Click);
			// 
			// chkSun
			// 
			this.chkSun.BackColor = System.Drawing.SystemColors.Control;
			this.chkSun.Cursor = System.Windows.Forms.Cursors.Default;
			this.chkSun.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.chkSun.ForeColor = System.Drawing.SystemColors.ControlText;
			this.chkSun.Location = new System.Drawing.Point(15, 17);
			this.chkSun.Name = "chkSun";
			this.chkSun.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.chkSun.Size = new System.Drawing.Size(81, 22);
			this.chkSun.TabIndex = 1;
			this.chkSun.Text = "Enable Sun";
			this.chkSun.CheckedChanged += new System.EventHandler(this.chkSun_CheckedChanged);
			// 
			// Label2
			// 
			this.Label2.BackColor = System.Drawing.SystemColors.Control;
			this.Label2.Cursor = System.Windows.Forms.Cursors.Default;
			this.Label2.Font = new System.Drawing.Font("Arial", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
			this.Label2.ForeColor = System.Drawing.SystemColors.ControlText;
			this.Label2.Location = new System.Drawing.Point(96, 48);
			this.Label2.Name = "Label2";
			this.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No;
			this.Label2.Size = new System.Drawing.Size(64, 16);
			this.Label2.TabIndex = 5;
			this.Label2.Text = "Values  0 -1";
			// 
			// axToolbarControl1
			// 
			this.axToolbarControl1.Location = new System.Drawing.Point(8, 8);
			this.axToolbarControl1.Name = "axToolbarControl1";
			this.axToolbarControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axToolbarControl1.OcxState")));
			this.axToolbarControl1.Size = new System.Drawing.Size(720, 28);
			this.axToolbarControl1.TabIndex = 17;
			// 
			// axTOCControl1
			// 
			this.axTOCControl1.Location = new System.Drawing.Point(8, 40);
			this.axTOCControl1.Name = "axTOCControl1";
			this.axTOCControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axTOCControl1.OcxState")));
			this.axTOCControl1.Size = new System.Drawing.Size(192, 328);
			this.axTOCControl1.TabIndex = 18;
			// 
			// axGlobeControl1
			// 
			this.axGlobeControl1.Location = new System.Drawing.Point(208, 40);
			this.axGlobeControl1.Name = "axGlobeControl1";
			this.axGlobeControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axGlobeControl1.OcxState")));
			this.axGlobeControl1.Size = new System.Drawing.Size(520, 328);
			this.axGlobeControl1.TabIndex = 19;
			this.axGlobeControl1.OnGlobeReplaced += new ESRI.ArcGIS.Controls.IGlobeControlEvents_Ax_OnGlobeReplacedEventHandler(this.axGlobeControl1_OnGlobeReplaced);
			// 
			// axLicenseControl1
			// 
			this.axLicenseControl1.Enabled = true;
			this.axLicenseControl1.Location = new System.Drawing.Point(512, 56);
			this.axLicenseControl1.Name = "axLicenseControl1";
			this.axLicenseControl1.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("axLicenseControl1.OcxState")));
			this.axLicenseControl1.Size = new System.Drawing.Size(200, 50);
			this.axLicenseControl1.TabIndex = 20;
			// 
			// Form1
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
			this.ClientSize = new System.Drawing.Size(736, 454);
			this.Controls.Add(this.axLicenseControl1);
			this.Controls.Add(this.axGlobeControl1);
			this.Controls.Add(this.axTOCControl1);
			this.Controls.Add(this.axToolbarControl1);
			this.Controls.Add(this.Frame2_1);
			this.Controls.Add(this.Frame2);
			this.Controls.Add(this._Frame2_0);
			this.Name = "Form1";
			this.Text = "GlobeControl";
			this.Load += new System.EventHandler(this.Form1_Load);
			this.Frame2_1.ResumeLayout(false);
			this.Frame2.ResumeLayout(false);
			this._Frame2_0.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.axToolbarControl1)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.axTOCControl1)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.axGlobeControl1)).EndInit();
			((System.ComponentModel.ISupportInitialize)(this.axLicenseControl1)).EndInit();
			this.ResumeLayout(false);

		}
		#endregion

		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main() 
		{
            
            if (!RuntimeManager.Bind(ProductCode.Engine))
            {
                if (!RuntimeManager.Bind(ProductCode.Desktop))
                {
                    MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.");
                    return;
                }
            }

            Application.Run(new Effects());
		}

		private void Form1_Load(object sender, System.EventArgs e)
		{

			//if default Desktop's document exists use as default
			string sRegkeyDesktop = "SOFTWARE\\ESRI\\ArcGIS";
			string sGlbData = routin_ReadRegistry(sRegkeyDesktop);
			//if that fails check to see if the coreRntime exists registry...
			if (sGlbData == "")
			{
				string sRegkeyEngine = "SOFTWARE\\ESRI\\CoreRuntime";
				sGlbData = routin_ReadRegistry(sRegkeyEngine);
			}
			if (sGlbData != "")
			{
				sGlbData = sGlbData + "ArcGlobeData\\Default_Document.3dd";
				if (axGlobeControl1.Check3dFile(sGlbData)) axGlobeControl1.Load3dFile(sGlbData);
			}

			//Enable north arrow, HUD and GlobeTips.
			bool bChkArrow = axGlobeControl1.GlobeViewer.NorthArrowEnabled;
			bool bHUD = axGlobeControl1.GlobeViewer.HUDEnabled;
			ChkHUD.Checked = bHUD;
			ChkArrow.Checked = bChkArrow;
			//get the state of globetips from the loaded doc.....
			m_penumTips = axGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips;
			//if no tip value (not set) in the loaded doc set it to default..
			if (m_penumTips <= 0)
			{
				m_penumTips = esriGlobeTipsType.esriGlobeTipsTypeLatLon;
			}
			cmbTipType.Items.Insert(0, "esriGlobeTipsTypeNone");
			cmbTipType.Items.Insert(1, "esriGlobeTipsTypeLatLon");
			cmbTipType.Items.Insert(2, "esriGlobeTipsTypeElevation");
			cmbTipType.Items.Insert(3, "esriGlobeTipsTypeLatLonElevation");

			ChkTip.Checked = true;//tip value of the doc...
			//set the list...
			cmbTipType.SelectedIndex = (int) m_penumTips;

			//populate tip type values..
			axGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid;
			axGlobeControl1.TipDelay = 500; //default..
			axGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips = m_penumTips;
			axGlobeControl1.GlobeDisplay.RefreshViewers();

			//Get current sun property..
			IGlobeDisplayRendering pglbDispRend = (IGlobeDisplayRendering)axGlobeControl1.GlobeDisplay;
			bool bsun = pglbDispRend.IsSunEnabled;
			if (bsun == true) chkSun.Checked = true; //checked
			//Get Ambient light...
			TxtAmbient.Text = pglbDispRend.AmbientLight.ToString();
			//Listen to events..
			afterDrawE = new IGlobeDisplayEvents_AfterDrawEventHandler(OnAfterDraw);
			((IGlobeDisplayEvents_Event)axGlobeControl1.GlobeDisplay).AfterDraw+=afterDrawE;
		}

		private void cmbTipType_SelectedIndexChanged(object sender, System.EventArgs e)
		{
			m_penumTips = (esriGlobeTipsType) cmbTipType.SelectedIndex;
			if (ChkTip.Checked == true)
			{
				string sVal = TxtTipDelay.Text;
				if (Convert.ToSingle(sVal) == 0) sVal="500";	//set it to default..miliseconds
				axGlobeControl1.TipDelay = Convert.ToInt32(sVal);
				axGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid;
				axGlobeControl1.ShowGlobeTips = m_penumTips;
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
		}

		private void CmdAmbient_Click(object sender, System.EventArgs e)
		{
			string sVal = TxtAmbient.Text;
			if (Convert.ToSingle(sVal) > (double) 1.0) sVal = "1";
			if (Convert.ToSingle(sVal) < (double) 0.0) sVal = "0";
			IGlobeDisplayRendering pglbDispRend = (IGlobeDisplayRendering) axGlobeControl1.GlobeDisplay;
			pglbDispRend.AmbientLight = Convert.ToSingle(sVal);
			//update textbox
			TxtAmbient.Text = sVal;
			axGlobeControl1.GlobeDisplay.RefreshViewers();
		}

		private void CmdSetSun_Click(object sender, System.EventArgs e)
		{
			IRgbColor pCmDRgb = new RgbColorClass();
			if (colorDialog1.ShowDialog() == DialogResult.Cancel) return;
			pCmDRgb.Red = colorDialog1.Color.R;
			pCmDRgb.Blue = colorDialog1.Color.B;
			pCmDRgb.Green = colorDialog1.Color.G;

			ChangeIllumination(pCmDRgb);
		}

		private string routin_ReadRegistry(string sKey) 
		{
			//Open the subkey for reading
			Microsoft.Win32.RegistryKey rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sKey,true);
			if (rk == null) return ""; 
			// Get the data from a specified item in the key.
			return (string) rk.GetValue("InstallDir");
		}

		private void ChangeIllumination(IRgbColor prgb)
		{
			IGlobeDisplayRendering pglbDispRend = (IGlobeDisplayRendering) axGlobeControl1.GlobeDisplay;

			double platitude=0; double plongitude=0;
			Single pSunred; Single pSungreen; Single pSunblue; Single pAmbientLght;

			if ((pglbDispRend.IsSunEnabled == true) & (chkSun.Checked == true))
			{
				//get the Default position and color...
				pglbDispRend.GetSunPosition(out platitude, out plongitude);
				pglbDispRend.GetSunColor(out pSunred, out pSungreen, out pSunblue);
				//Set AmbientLght
				string sVal = TxtAmbient.Text;
				if (Convert.ToSingle(sVal) > 1) sVal = "1";
				if (Convert.ToSingle(sVal) < 0) sVal = "0";
				pglbDispRend.AmbientLight = Convert.ToSingle(sVal);
				//update textbox
				TxtAmbient.Text = sVal;
				pAmbientLght = pglbDispRend.AmbientLight;
				IColor pIcolor = prgb;
				IGlobeDisplay pglbDisp = EnableSetSun(pAmbientLght, platitude, plongitude, pIcolor);
				axGlobeControl1.GlobeDisplay = pglbDisp;
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
		}

		private IGlobeDisplay EnableSetSun(Single pAmbientLght, double platitude, double plongitude, IColor pColor )
		{ 
			Single pSunred; Single pSungreen; Single pSunblue; 
			IRgbColor pRgbColor = new RgbColorClass();
			pRgbColor.RGB = Convert.ToInt32(pColor.RGB);
			pSunred = pRgbColor.Red;
			pSungreen = pRgbColor.Green;
			pSunblue = pRgbColor.Blue;
			IGlobeDisplayRendering pglbDispRend = (IGlobeDisplayRendering) axGlobeControl1.GlobeDisplay;
			pglbDispRend.SetSunColor(pSunred, pSungreen, pSunblue);
			pglbDispRend.SetSunPosition(platitude, plongitude);
			pglbDispRend.AmbientLight = pAmbientLght;
			return axGlobeControl1.GlobeDisplay;
		}


		private void ChkArrow_CheckedChanged(object sender, System.EventArgs e)
		{
			bool bChkArrow = axGlobeControl1.GlobeViewer.NorthArrowEnabled;
			if ((ChkArrow.Checked == false) & (bChkArrow == true)) 
			{
				axGlobeControl1.GlobeViewer.NorthArrowEnabled = false; //unchecked
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
			else if ((ChkArrow.Checked == true) & (bChkArrow == false))
			{
				axGlobeControl1.GlobeViewer.NorthArrowEnabled = true; //checked
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
		}

		private void ChkHUD_CheckedChanged(object sender, System.EventArgs e)
		{
			//Default HUD
			bool bHUD = axGlobeControl1.GlobeViewer.HUDEnabled;
			if ((ChkHUD.Checked == false) & (bHUD == true)) 
			{
				axGlobeControl1.GlobeViewer.HUDEnabled = false; //unchecked
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
			else if ((ChkHUD.Checked == true) & (bHUD==false))
			{
				axGlobeControl1.GlobeViewer.HUDEnabled = true; //checked
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
		}

		private void chkSun_CheckedChanged(object sender, System.EventArgs e)
		{
			IGlobeDisplayRendering pglbDispRend = (IGlobeDisplayRendering) axGlobeControl1.GlobeDisplay;
			bool bsun = pglbDispRend.IsSunEnabled;
			if ((chkSun.Checked == false) & (bsun == true))
			{
				pglbDispRend.IsSunEnabled = false; //unchecked
				CmdSetSun.Enabled = false;
			}
			else if ((chkSun.Checked == true) & (bsun==false))
			{
				pglbDispRend.IsSunEnabled = true; //checked
				CmdSetSun.Enabled = true;
			}
		}

		private void ChkTip_CheckedChanged(object sender, System.EventArgs e)
		{
			if (ChkTip.Checked == false)
			{
				axGlobeControl1.ShowGlobeTips = esriGlobeTipsType.esriGlobeTipsTypeNone;
				axGlobeControl1.GlobeDisplay.RefreshViewers();
				cmbTipType.Enabled = false;
				TxtTipDelay.Enabled = false;
			}
			else
			{
				cmbTipType.Enabled = true;
				TxtTipDelay.Enabled = true;
				string sVal = TxtTipDelay.Text;
				if (Convert.ToInt32(sVal) == 0) sVal="500"; //set it to default..miliseconds
				if (cmbTipType.SelectedIndex >= 0) m_penumTips = (esriGlobeTipsType) cmbTipType.SelectedIndex;
				axGlobeControl1.TipDelay = Convert.ToInt32(sVal);
				axGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid;
				axGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips = m_penumTips;
				axGlobeControl1.GlobeDisplay.RefreshViewers();
			}
		}

		private void GetObserVerLatLong(ISceneViewer pViewer, out double pLatDD, out double pLonDD, out double pAltKms, out double pRoll, out double pIncl)
		{
			IGlobeCamera pCam = (IGlobeCamera) pViewer.Camera;
			pCam.GetObserverLatLonAlt( out pLatDD, out pLonDD, out pAltKms);
			ICamera pIcam = (ICamera) pCam;
			pRoll = pIcam.RollAngle;
			pIncl = pIcam.Inclination;
		}

		private void UpdateCustomHUD(double pLatDD, double pLonDD, double pAltKms, double pRoll, double pIncl)
		{
			LblAltVal.Text = pAltKms.ToString();
			lblLatVal.Text = pLatDD.ToString();
			LblLonVal.Text = pLonDD.ToString();
		}

		private void OnAfterDraw(ISceneViewer pViewer) 
		{
			double pLatDD=0; double pLonDD=0; double pAltKms=0; double pRoll=0; double pIncl=0;
			GetObserVerLatLong(pViewer, out pLatDD, out pLonDD, out pAltKms, out pRoll, out pIncl);
			UpdateCustomHUD(pLatDD, pLonDD, pAltKms, pRoll, pIncl);
		}

		private void axGlobeControl1_OnGlobeReplaced(object sender, ESRI.ArcGIS.Controls.IGlobeControlEvents_OnGlobeReplacedEvent e)
		{
			IGlobeDisplayRendering pglbbDispRend = (IGlobeDisplayRendering) axGlobeControl1.GlobeDisplay;
			bool bsun = pglbbDispRend.IsSunEnabled;
			if (bsun==true) chkSun.Checked = true; //checked
			//get the state of globetips from the loaded doc.....
			m_penumTips = axGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips;
		}
	}
}

[Visual Basic .NET]

Effects.vb

Imports ESRI.ArcGIS.esriSystem
Imports ESRI.ArcGIS.GlobeCore
Imports ESRI.ArcGIS.Display
Imports ESRI.ArcGIS.SystemUI
Imports ESRI.ArcGIS.Analyst3D
Imports System.Windows.Forms
Imports ESRI.ArcGIS


Public Class Effects
    Inherits System.Windows.Forms.Form
    <STAThread()> _
Shared Sub Main()

        'Load runtime 
        If Not RuntimeManager.Bind(ProductCode.Engine) Then
            If Not RuntimeManager.Bind(ProductCode.Desktop) Then
                MessageBox.Show("Unable to bind to ArcGIS runtime. Application will be shut down.")
                System.Environment.Exit(1) ' Force exit or other indication in the application
            End If
        End If

        Application.Run(New Effects())
    End Sub
#Region "Windows Form Designer generated code "
    Public Sub New()
        MyBase.New()
        '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)
        'Release COM objects
        ESRI.ArcGIS.ADF.COMSupport.AOUninitialize.Shutdown()
        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 TxtTipDelay As System.Windows.Forms.TextBox
    Public WithEvents cmbTipType As System.Windows.Forms.ComboBox
    Public WithEvents ChkTip As System.Windows.Forms.CheckBox
    Public WithEvents LblTips As System.Windows.Forms.Label
    Public WithEvents lblDelay As System.Windows.Forms.Label
    Public WithEvents lblLatVal As System.Windows.Forms.Label
    Public WithEvents LblLonVal As System.Windows.Forms.Label
    Public WithEvents LblAltVal As System.Windows.Forms.Label
    Public WithEvents LblLat As System.Windows.Forms.Label
    Public WithEvents LblLon As System.Windows.Forms.Label
    Public WithEvents LblALt As System.Windows.Forms.Label
    Public WithEvents CmdAmbient As System.Windows.Forms.Button
    Public WithEvents TxtAmbient As System.Windows.Forms.TextBox
    Public WithEvents Label2 As System.Windows.Forms.Label
    Public WithEvents _Frame2_0 As System.Windows.Forms.GroupBox
    '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 ChkHUD As System.Windows.Forms.CheckBox
    Public WithEvents ChkArrow As System.Windows.Forms.CheckBox
    Public WithEvents Frame2_1 As System.Windows.Forms.GroupBox
    Public WithEvents Frame2 As System.Windows.Forms.GroupBox
    Public WithEvents CmdSetSun As System.Windows.Forms.Button
    Public WithEvents chkSun As System.Windows.Forms.CheckBox
    Friend WithEvents ColorDialog1 As System.Windows.Forms.ColorDialog
    Friend WithEvents AxToolbarControl1 As ESRI.ArcGIS.Controls.AxToolbarControl
    Friend WithEvents AxTOCControl1 As ESRI.ArcGIS.Controls.AxTOCControl
    Friend WithEvents AxGlobeControl1 As ESRI.ArcGIS.Controls.AxGlobeControl
    Friend WithEvents AxLicenseControl1 As ESRI.ArcGIS.Controls.AxLicenseControl
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Dim resources As System.Resources.ResourceManager = New System.Resources.ResourceManager(GetType(Effects))
        Me.ChkHUD = New System.Windows.Forms.CheckBox
        Me.ChkArrow = New System.Windows.Forms.CheckBox
        Me.Frame2_1 = New System.Windows.Forms.GroupBox
        Me.lblDelay = New System.Windows.Forms.Label
        Me.TxtTipDelay = New System.Windows.Forms.TextBox
        Me.cmbTipType = New System.Windows.Forms.ComboBox
        Me.ChkTip = New System.Windows.Forms.CheckBox
        Me.LblTips = New System.Windows.Forms.Label
        Me.Frame2 = New System.Windows.Forms.GroupBox
        Me.lblLatVal = New System.Windows.Forms.Label
        Me.LblLonVal = New System.Windows.Forms.Label
        Me.LblAltVal = New System.Windows.Forms.Label
        Me.LblLat = New System.Windows.Forms.Label
        Me.LblLon = New System.Windows.Forms.Label
        Me.LblALt = New System.Windows.Forms.Label
        Me._Frame2_0 = New System.Windows.Forms.GroupBox
        Me.CmdAmbient = New System.Windows.Forms.Button
        Me.TxtAmbient = New System.Windows.Forms.TextBox
        Me.CmdSetSun = New System.Windows.Forms.Button
        Me.chkSun = New System.Windows.Forms.CheckBox
        Me.Label2 = New System.Windows.Forms.Label
        Me.ColorDialog1 = New System.Windows.Forms.ColorDialog
        Me.AxToolbarControl1 = New ESRI.ArcGIS.Controls.AxToolbarControl
        Me.AxTOCControl1 = New ESRI.ArcGIS.Controls.AxTOCControl
        Me.AxGlobeControl1 = New ESRI.ArcGIS.Controls.AxGlobeControl
        Me.AxLicenseControl1 = New ESRI.ArcGIS.Controls.AxLicenseControl
        Me.Frame2_1.SuspendLayout()
        Me.Frame2.SuspendLayout()
        Me._Frame2_0.SuspendLayout()
        CType(Me.AxToolbarControl1, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.AxTOCControl1, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.AxGlobeControl1, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.AxLicenseControl1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'ChkHUD
        '
        Me.ChkHUD.BackColor = System.Drawing.SystemColors.Control
        Me.ChkHUD.Cursor = System.Windows.Forms.Cursors.Default
        Me.ChkHUD.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.ChkHUD.ForeColor = System.Drawing.SystemColors.ControlText
        Me.ChkHUD.Location = New System.Drawing.Point(13, 19)
        Me.ChkHUD.Name = "ChkHUD"
        Me.ChkHUD.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.ChkHUD.Size = New System.Drawing.Size(51, 16)
        Me.ChkHUD.TabIndex = 15
        Me.ChkHUD.Text = "HUD"
        '
        'ChkArrow
        '
        Me.ChkArrow.BackColor = System.Drawing.SystemColors.Control
        Me.ChkArrow.Cursor = System.Windows.Forms.Cursors.Default
        Me.ChkArrow.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.ChkArrow.ForeColor = System.Drawing.SystemColors.ControlText
        Me.ChkArrow.Location = New System.Drawing.Point(13, 33)
        Me.ChkArrow.Name = "ChkArrow"
        Me.ChkArrow.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.ChkArrow.Size = New System.Drawing.Size(59, 31)
        Me.ChkArrow.TabIndex = 14
        Me.ChkArrow.Text = "North Arrow"
        '
        'Frame2_1
        '
        Me.Frame2_1.BackColor = System.Drawing.SystemColors.Control
        Me.Frame2_1.Controls.Add(Me.lblDelay)
        Me.Frame2_1.Controls.Add(Me.TxtTipDelay)
        Me.Frame2_1.Controls.Add(Me.cmbTipType)
        Me.Frame2_1.Controls.Add(Me.ChkHUD)
        Me.Frame2_1.Controls.Add(Me.ChkArrow)
        Me.Frame2_1.Controls.Add(Me.ChkTip)
        Me.Frame2_1.Controls.Add(Me.LblTips)
        Me.Frame2_1.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Frame2_1.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Frame2_1.Location = New System.Drawing.Point(248, 448)
        Me.Frame2_1.Name = "Frame2_1"
        Me.Frame2_1.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Frame2_1.Size = New System.Drawing.Size(224, 69)
        Me.Frame2_1.TabIndex = 13
        Me.Frame2_1.TabStop = False
        Me.Frame2_1.Text = "HUD"
        '
        'lblDelay
        '
        Me.lblDelay.BackColor = System.Drawing.SystemColors.Control
        Me.lblDelay.Cursor = System.Windows.Forms.Cursors.Default
        Me.lblDelay.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.lblDelay.ForeColor = System.Drawing.SystemColors.ControlText
        Me.lblDelay.Location = New System.Drawing.Point(136, 9)
        Me.lblDelay.Name = "lblDelay"
        Me.lblDelay.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.lblDelay.Size = New System.Drawing.Size(72, 13)
        Me.lblDelay.TabIndex = 18
        Me.lblDelay.Text = "Delay(mSec.)"
        '
        'TxtTipDelay
        '
        Me.TxtTipDelay.AcceptsReturn = True
        Me.TxtTipDelay.AutoSize = False
        Me.TxtTipDelay.BackColor = System.Drawing.SystemColors.Window
        Me.TxtTipDelay.Cursor = System.Windows.Forms.Cursors.IBeam
        Me.TxtTipDelay.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.TxtTipDelay.ForeColor = System.Drawing.SystemColors.WindowText
        Me.TxtTipDelay.Location = New System.Drawing.Point(160, 24)
        Me.TxtTipDelay.MaxLength = 0
        Me.TxtTipDelay.Name = "TxtTipDelay"
        Me.TxtTipDelay.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.TxtTipDelay.Size = New System.Drawing.Size(48, 15)
        Me.TxtTipDelay.TabIndex = 16
        Me.TxtTipDelay.Text = "500"
        '
        'cmbTipType
        '
        Me.cmbTipType.BackColor = System.Drawing.SystemColors.Window
        Me.cmbTipType.Cursor = System.Windows.Forms.Cursors.Default
        Me.cmbTipType.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList
        Me.cmbTipType.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.cmbTipType.ForeColor = System.Drawing.SystemColors.WindowText
        Me.cmbTipType.Location = New System.Drawing.Point(69, 42)
        Me.cmbTipType.Name = "cmbTipType"
        Me.cmbTipType.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.cmbTipType.Size = New System.Drawing.Size(139, 22)
        Me.cmbTipType.TabIndex = 17
        '
        'ChkTip
        '
        Me.ChkTip.BackColor = System.Drawing.SystemColors.Control
        Me.ChkTip.Cursor = System.Windows.Forms.Cursors.Default
        Me.ChkTip.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.ChkTip.ForeColor = System.Drawing.SystemColors.ControlText
        Me.ChkTip.Location = New System.Drawing.Point(69, 25)
        Me.ChkTip.Name = "ChkTip"
        Me.ChkTip.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.ChkTip.Size = New System.Drawing.Size(14, 15)
        Me.ChkTip.TabIndex = 20
        Me.ChkTip.Text = "Check1"
        '
        'LblTips
        '
        Me.LblTips.BackColor = System.Drawing.SystemColors.Control
        Me.LblTips.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblTips.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblTips.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblTips.Location = New System.Drawing.Point(84, 16)
        Me.LblTips.Name = "LblTips"
        Me.LblTips.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblTips.Size = New System.Drawing.Size(58, 28)
        Me.LblTips.TabIndex = 19
        Me.LblTips.Text = "Enable Globe Tips"
        '
        'Frame2
        '
        Me.Frame2.BackColor = System.Drawing.SystemColors.Control
        Me.Frame2.Controls.Add(Me.lblLatVal)
        Me.Frame2.Controls.Add(Me.LblLonVal)
        Me.Frame2.Controls.Add(Me.LblAltVal)
        Me.Frame2.Controls.Add(Me.LblLat)
        Me.Frame2.Controls.Add(Me.LblLon)
        Me.Frame2.Controls.Add(Me.LblALt)
        Me.Frame2.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Frame2.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Frame2.Location = New System.Drawing.Point(480, 448)
        Me.Frame2.Name = "Frame2"
        Me.Frame2.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Frame2.Size = New System.Drawing.Size(236, 69)
        Me.Frame2.TabIndex = 6
        Me.Frame2.TabStop = False
        Me.Frame2.Text = "Alternate HUD"
        '
        'lblLatVal
        '
        Me.lblLatVal.BackColor = System.Drawing.SystemColors.Control
        Me.lblLatVal.Cursor = System.Windows.Forms.Cursors.Default
        Me.lblLatVal.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.lblLatVal.ForeColor = System.Drawing.SystemColors.ControlText
        Me.lblLatVal.Location = New System.Drawing.Point(33, 30)
        Me.lblLatVal.Name = "lblLatVal"
        Me.lblLatVal.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.lblLatVal.Size = New System.Drawing.Size(86, 13)
        Me.lblLatVal.TabIndex = 9
        Me.lblLatVal.Text = "lblLatVal"
        '
        'LblLonVal
        '
        Me.LblLonVal.BackColor = System.Drawing.SystemColors.Control
        Me.LblLonVal.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblLonVal.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblLonVal.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblLonVal.Location = New System.Drawing.Point(33, 45)
        Me.LblLonVal.Name = "LblLonVal"
        Me.LblLonVal.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblLonVal.Size = New System.Drawing.Size(86, 13)
        Me.LblLonVal.TabIndex = 7
        Me.LblLonVal.Text = "LblLonVal"
        '
        'LblAltVal
        '
        Me.LblAltVal.BackColor = System.Drawing.SystemColors.Control
        Me.LblAltVal.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblAltVal.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblAltVal.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblAltVal.Location = New System.Drawing.Point(134, 44)
        Me.LblAltVal.Name = "LblAltVal"
        Me.LblAltVal.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblAltVal.Size = New System.Drawing.Size(86, 11)
        Me.LblAltVal.TabIndex = 8
        Me.LblAltVal.Text = "LblAltVal"
        '
        'LblLat
        '
        Me.LblLat.BackColor = System.Drawing.SystemColors.Control
        Me.LblLat.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblLat.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblLat.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblLat.Location = New System.Drawing.Point(8, 32)
        Me.LblLat.Name = "LblLat"
        Me.LblLat.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblLat.Size = New System.Drawing.Size(24, 15)
        Me.LblLat.TabIndex = 12
        Me.LblLat.Text = "Lat:"
        '
        'LblLon
        '
        Me.LblLon.BackColor = System.Drawing.SystemColors.Control
        Me.LblLon.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblLon.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblLon.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblLon.Location = New System.Drawing.Point(9, 46)
        Me.LblLon.Name = "LblLon"
        Me.LblLon.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblLon.Size = New System.Drawing.Size(27, 16)
        Me.LblLon.TabIndex = 11
        Me.LblLon.Text = "Lon:"
        '
        'LblALt
        '
        Me.LblALt.BackColor = System.Drawing.SystemColors.Control
        Me.LblALt.Cursor = System.Windows.Forms.Cursors.Default
        Me.LblALt.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.LblALt.ForeColor = System.Drawing.SystemColors.ControlText
        Me.LblALt.Location = New System.Drawing.Point(133, 23)
        Me.LblALt.Name = "LblALt"
        Me.LblALt.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.LblALt.Size = New System.Drawing.Size(83, 19)
        Me.LblALt.TabIndex = 10
        Me.LblALt.Text = "Alt (in Kms.)"
        '
        '_Frame2_0
        '
        Me._Frame2_0.BackColor = System.Drawing.SystemColors.Control
        Me._Frame2_0.Controls.Add(Me.CmdAmbient)
        Me._Frame2_0.Controls.Add(Me.TxtAmbient)
        Me._Frame2_0.Controls.Add(Me.CmdSetSun)
        Me._Frame2_0.Controls.Add(Me.chkSun)
        Me._Frame2_0.Controls.Add(Me.Label2)
        Me._Frame2_0.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me._Frame2_0.ForeColor = System.Drawing.SystemColors.ControlText
        Me._Frame2_0.Location = New System.Drawing.Point(4, 446)
        Me._Frame2_0.Name = "_Frame2_0"
        Me._Frame2_0.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me._Frame2_0.Size = New System.Drawing.Size(236, 69)
        Me._Frame2_0.TabIndex = 0
        Me._Frame2_0.TabStop = False
        Me._Frame2_0.Text = "Sun and Ambient Light Prop"
        '
        'CmdAmbient
        '
        Me.CmdAmbient.BackColor = System.Drawing.SystemColors.Control
        Me.CmdAmbient.Cursor = System.Windows.Forms.Cursors.Default
        Me.CmdAmbient.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.CmdAmbient.ForeColor = System.Drawing.SystemColors.ControlText
        Me.CmdAmbient.Location = New System.Drawing.Point(10, 43)
        Me.CmdAmbient.Name = "CmdAmbient"
        Me.CmdAmbient.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.CmdAmbient.Size = New System.Drawing.Size(78, 22)
        Me.CmdAmbient.TabIndex = 4
        Me.CmdAmbient.Text = "Set Ambient"
        '
        'TxtAmbient
        '
        Me.TxtAmbient.AcceptsReturn = True
        Me.TxtAmbient.AutoSize = False
        Me.TxtAmbient.BackColor = System.Drawing.SystemColors.Window
        Me.TxtAmbient.Cursor = System.Windows.Forms.Cursors.IBeam
        Me.TxtAmbient.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.TxtAmbient.ForeColor = System.Drawing.SystemColors.WindowText
        Me.TxtAmbient.Location = New System.Drawing.Point(168, 45)
        Me.TxtAmbient.MaxLength = 0
        Me.TxtAmbient.Name = "TxtAmbient"
        Me.TxtAmbient.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.TxtAmbient.Size = New System.Drawing.Size(48, 20)
        Me.TxtAmbient.TabIndex = 3
        Me.TxtAmbient.Text = ""
        '
        'CmdSetSun
        '
        Me.CmdSetSun.BackColor = System.Drawing.SystemColors.Control
        Me.CmdSetSun.Cursor = System.Windows.Forms.Cursors.Default
        Me.CmdSetSun.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.CmdSetSun.ForeColor = System.Drawing.SystemColors.ControlText
        Me.CmdSetSun.Location = New System.Drawing.Point(144, 15)
        Me.CmdSetSun.Name = "CmdSetSun"
        Me.CmdSetSun.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.CmdSetSun.Size = New System.Drawing.Size(80, 20)
        Me.CmdSetSun.TabIndex = 2
        Me.CmdSetSun.Text = "Set Sun Color"
        '
        'chkSun
        '
        Me.chkSun.BackColor = System.Drawing.SystemColors.Control
        Me.chkSun.Cursor = System.Windows.Forms.Cursors.Default
        Me.chkSun.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.chkSun.ForeColor = System.Drawing.SystemColors.ControlText
        Me.chkSun.Location = New System.Drawing.Point(15, 17)
        Me.chkSun.Name = "chkSun"
        Me.chkSun.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.chkSun.Size = New System.Drawing.Size(81, 22)
        Me.chkSun.TabIndex = 1
        Me.chkSun.Text = "Enable Sun"
        '
        'Label2
        '
        Me.Label2.BackColor = System.Drawing.SystemColors.Control
        Me.Label2.Cursor = System.Windows.Forms.Cursors.Default
        Me.Label2.Font = New System.Drawing.Font("Arial", 8.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label2.ForeColor = System.Drawing.SystemColors.ControlText
        Me.Label2.Location = New System.Drawing.Point(96, 48)
        Me.Label2.Name = "Label2"
        Me.Label2.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Label2.Size = New System.Drawing.Size(64, 16)
        Me.Label2.TabIndex = 5
        Me.Label2.Text = "Values  0 -1"
        '
        'AxToolbarControl1
        '
        Me.AxToolbarControl1.Location = New System.Drawing.Point(8, 8)
        Me.AxToolbarControl1.Name = "AxToolbarControl1"
        Me.AxToolbarControl1.OcxState = CType(resources.GetObject("AxToolbarControl1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxToolbarControl1.Size = New System.Drawing.Size(704, 28)
        Me.AxToolbarControl1.TabIndex = 14
        '
        'AxTOCControl1
        '
        Me.AxTOCControl1.Location = New System.Drawing.Point(8, 40)
        Me.AxTOCControl1.Name = "AxTOCControl1"
        Me.AxTOCControl1.OcxState = CType(resources.GetObject("AxTOCControl1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxTOCControl1.Size = New System.Drawing.Size(192, 400)
        Me.AxTOCControl1.TabIndex = 15
        '
        'AxGlobeControl1
        '
        Me.AxGlobeControl1.Location = New System.Drawing.Point(208, 40)
        Me.AxGlobeControl1.Name = "AxGlobeControl1"
        Me.AxGlobeControl1.OcxState = CType(resources.GetObject("AxGlobeControl1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxGlobeControl1.Size = New System.Drawing.Size(504, 400)
        Me.AxGlobeControl1.TabIndex = 16
        '
        'AxLicenseControl1
        '
        Me.AxLicenseControl1.Enabled = True
        Me.AxLicenseControl1.Location = New System.Drawing.Point(504, 48)
        Me.AxLicenseControl1.Name = "AxLicenseControl1"
        Me.AxLicenseControl1.OcxState = CType(resources.GetObject("AxLicenseControl1.OcxState"), System.Windows.Forms.AxHost.State)
        Me.AxLicenseControl1.Size = New System.Drawing.Size(200, 50)
        Me.AxLicenseControl1.TabIndex = 17
        '
        'frmGlbCntrl
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
        Me.BackColor = System.Drawing.SystemColors.Control
        Me.ClientSize = New System.Drawing.Size(722, 520)
        Me.Controls.Add(Me.AxLicenseControl1)
        Me.Controls.Add(Me.AxGlobeControl1)
        Me.Controls.Add(Me.AxTOCControl1)
        Me.Controls.Add(Me.AxToolbarControl1)
        Me.Controls.Add(Me.Frame2_1)
        Me.Controls.Add(Me.Frame2)
        Me.Controls.Add(Me._Frame2_0)
        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.Name = "frmGlbCntrl"
        Me.RightToLeft = System.Windows.Forms.RightToLeft.No
        Me.Text = "GlobeControl"
        Me.Frame2_1.ResumeLayout(False)
        Me.Frame2.ResumeLayout(False)
        Me._Frame2_0.ResumeLayout(False)
        CType(Me.AxToolbarControl1, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.AxTOCControl1, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.AxGlobeControl1, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.AxLicenseControl1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub
#End Region

    Private m_penumTips As esriGlobeTipsType
    Public WithEvents m_pglbDisplay As GlobeDisplay

    Private Sub cmbTipType_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmbTipType.SelectedIndexChanged

        m_penumTips = cmbTipType.SelectedIndex
        Dim sVal As Object
        If Not ChkTip.CheckState = 0 Then
            sVal = TxtTipDelay.Text
            On Error Resume Next 'handle non numeric characters...
            sVal = CInt(sVal)
            If sVal = 0 Then sVal = 500 'set it to default..miliseconds
            AxGlobeControl1.TipDelay = sVal
            AxGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid
            AxGlobeControl1.ShowGlobeTips = m_penumTips
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        End If
    End Sub

    Private Sub CmdAmbient_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdAmbient.Click

        Dim sVal As String
        sVal = TxtAmbient.Text
        sVal = CSng(sVal)
        If sVal > 1.0# Then sVal = 1
        If sVal < 0.0# Then sVal = 0
        Dim pglbDispRend As IGlobeDisplayRendering
        pglbDispRend = AxGlobeControl1.GlobeDisplay
        pglbDispRend.AmbientLight = sVal
        'update textbox
        TxtAmbient.Text = sVal
        AxGlobeControl1.GlobeDisplay.RefreshViewers()

    End Sub

    Private Sub CmdSetSun_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles CmdSetSun.Click

        Dim pCmDRgb As New RgbColorClass

        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then Exit Sub
        pCmDRgb.Red = ColorDialog1.Color.R
        pCmDRgb.Blue = ColorDialog1.Color.B
        pCmDRgb.Green = ColorDialog1.Color.G

        ChangeIllumination(pCmDRgb)

    End Sub

    Private Sub frmGlbCntrl_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

        'if default Desktop's document exists use as default
        Dim sGlbData As String, sRegkeyDesktop As String, sRegkeyEngine As String
        sRegkeyDesktop = "SOFTWARE\ESRI\ArcGIS"
        sGlbData = routin_ReadRegistry(sRegkeyDesktop)
        'if that fails check to see if the coreRntime exists registry...
        If sGlbData = "" Then
            sRegkeyEngine = "SOFTWARE\ESRI\CoreRuntime"
            sGlbData = routin_ReadRegistry(sRegkeyEngine)
        End If
        If sGlbData <> "" Then
            sGlbData = sGlbData & "ArcGlobeData\Default_Document.3dd"
            If AxGlobeControl1.Check3dFile(sGlbData) Then AxGlobeControl1.Load3dFile(sGlbData)
        End If

        'Enable north arrow, HUD and GlobeTips..
        Dim bChkArrow As Boolean, bHUD As Boolean
        bChkArrow = AxGlobeControl1.GlobeViewer.NorthArrowEnabled
        bHUD = AxGlobeControl1.GlobeViewer.HUDEnabled
        ChkHUD.Checked = bHUD
        ChkArrow.Checked = bChkArrow
        'get the state of globetips from the loaded doc.....
        m_penumTips = AxGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips
        'if no tip value (not set) in the loaded doc set it to default..
        If m_penumTips <= 0 Then
            m_penumTips = esriGlobeTipsType.esriGlobeTipsTypeLatLon
        End If
        cmbTipType.Items.Insert(0, "esriGlobeTipsTypeNone")
        cmbTipType.Items.Insert(1, "esriGlobeTipsTypeLatLon")
        cmbTipType.Items.Insert(2, "esriGlobeTipsTypeElevation")
        cmbTipType.Items.Insert(3, "esriGlobeTipsTypeLatLonElevation")

        ChkTip.Checked = True 'tip value of the doc...
        'set the list...
        cmbTipType.SelectedIndex = m_penumTips

        'populate tip type values..
        AxGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid
        AxGlobeControl1.TipDelay = 500 'default..
        AxGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips = m_penumTips
        AxGlobeControl1.GlobeDisplay.RefreshViewers()

        'Get current sun property..
        Dim pglbDispRend As IGlobeDisplayRendering
        pglbDispRend = AxGlobeControl1.GlobeDisplay
        Dim bsun As Boolean
        bsun = pglbDispRend.IsSunEnabled
        If bsun = True Then chkSun.Checked = True 'checked
        'Get Ambient light...
        TxtAmbient.Text = CStr(pglbDispRend.AmbientLight)
        'Listen to events..
        m_pglbDisplay = AxGlobeControl1.GlobeDisplay

    End Sub

    Private Function routin_ReadRegistry(ByRef sKey As String) As String

        'Open the subkey for reading
        'Dim rk As Microsoft.Win32.RegistryKey
        'rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sKey, True)
        'If rk Is Nothing Then routin_ReadRegistry = ""
        'Get the data from a specified item in the key.
        Dim installationFolder As String = ESRI.ArcGIS.RuntimeManager.ActiveRuntime.Path
        'routin_ReadRegistry = rk.GetValue("InstallDir")
        routin_ReadRegistry = installationFolder

    End Function

    Private Sub ChangeIllumination(ByRef prgb As RgbColorClass)

        Dim pglbDispRend As IGlobeDisplayRendering
        pglbDispRend = AxGlobeControl1.GlobeDisplay

        Dim platitude As Double, plongitude As Double
        Dim pSunred As Single, pSungreen As Single, pSunblue As Single

        If pglbDispRend.IsSunEnabled = True And chkSun.Checked = True Then
            'get the Default position and color...
            pglbDispRend.GetSunPosition(platitude, plongitude)
            pglbDispRend.GetSunColor(pSunred, pSungreen, pSunblue)
            'Set AmbientLght
            Dim sVal As String
            sVal = TxtAmbient.Text
            sVal = CSng(sVal)
            If sVal > 1 Then sVal = 1
            If sVal < 0 Then sVal = 0
            pglbDispRend.AmbientLight = sVal
            'update textbox
            TxtAmbient.Text = sVal

            Dim pAmbientLght As Single
            pAmbientLght = pglbDispRend.AmbientLight

            Dim pIcolor As IColor
            pIcolor = prgb

            Dim pglbDisp As IGlobeDisplay
            pglbDisp = EnableSetSun(pAmbientLght, platitude, plongitude, pIcolor)
            AxGlobeControl1.GlobeDisplay = pglbDisp
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        End If

    End Sub

    Private Function EnableSetSun(ByRef pAmbientLght As Single, ByRef platitude As Double, ByRef plongitude As Double, ByRef pColor As IColor) As IGlobeDisplay

        Dim pRgbColor As IRgbColor
        pRgbColor = New RgbColorClass
        pRgbColor.RGB = System.Convert.ToInt32(pColor.RGB)

        Dim pSunred As Single, pSungreen As Single, pSunblue As Single
        pSunred = CSng(pRgbColor.Red)
        pSungreen = CSng(pRgbColor.Green)
        pSunblue = CSng(pRgbColor.Blue)

        Dim pglbDispRend As IGlobeDisplayRendering
        pglbDispRend = AxGlobeControl1.GlobeDisplay

        pglbDispRend.SetSunColor(pSunred, pSungreen, pSunblue)
        pglbDispRend.SetSunPosition(platitude, plongitude)
        pglbDispRend.AmbientLight = pAmbientLght
        EnableSetSun = AxGlobeControl1.GlobeDisplay

    End Function

    Public Sub GetObserVerLatLong(ByRef pViewer As ESRI.ArcGIS.Analyst3D.ISceneViewer, ByRef pLatDD As Double, ByRef pLonDD As Double, ByRef pAltKms As Double, ByRef pRoll As Double, ByRef pIncl As Double)

        Dim pCam As IGlobeCamera
        pCam = pViewer.Camera

        pCam.GetObserverLatLonAlt(pLatDD, pLonDD, pAltKms)
        Dim pIcam As ICamera
        pIcam = pCam
        pRoll = pIcam.RollAngle
        pIncl = pIcam.Inclination

    End Sub

    Public Sub UpdateCustomHUD(ByRef pLatDD As Double, ByRef pLonDD As Double, ByRef pAltKms As Double, ByRef pRoll As Double, ByRef pIncl As Double)

        LblAltVal.Text = pAltKms.ToString
        lblLatVal.Text = pLatDD.ToString
        LblLonVal.Text = pLonDD.ToString

    End Sub

    Private Sub m_pglbDisplay_AfterDraw(ByVal pViewer As ESRI.ArcGIS.Analyst3D.ISceneViewer) Handles m_pglbDisplay.AfterDraw
        Dim pLatDD As Double, pLonDD As Double, pAltKms As Double, pRoll As Double, pIncl As Double
        GetObserVerLatLong(pViewer, pLatDD, pLonDD, pAltKms, pRoll, pIncl)
        UpdateCustomHUD(pLatDD, pLonDD, pAltKms, pRoll, pIncl)
    End Sub

    Private Sub ChkArrow_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkArrow.CheckedChanged
        Dim bChkArrow As Boolean
        bChkArrow = AxGlobeControl1.GlobeViewer.NorthArrowEnabled
        If ChkArrow.Checked = False And bChkArrow = True Then
            AxGlobeControl1.GlobeViewer.NorthArrowEnabled = False 'unchecked
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        ElseIf ChkArrow.Checked = True And bChkArrow = False Then
            AxGlobeControl1.GlobeViewer.NorthArrowEnabled = True 'checked
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        End If
    End Sub

    Private Sub ChkHUD_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkHUD.CheckedChanged
        'Default HUD
        Dim bHUD As Boolean
        bHUD = AxGlobeControl1.GlobeViewer.HUDEnabled
        If ChkHUD.Checked = False And bHUD = True Then
            AxGlobeControl1.GlobeViewer.HUDEnabled = False 'unchecked
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        ElseIf ChkHUD.Checked = True And bHUD = False Then
            AxGlobeControl1.GlobeViewer.HUDEnabled = True 'checked
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        End If
    End Sub

    Private Sub chkSun_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles chkSun.CheckedChanged
        Dim pglbDispRend As IGlobeDisplayRendering
        pglbDispRend = AxGlobeControl1.GlobeDisplay
        Dim bsun As Boolean
        bsun = pglbDispRend.IsSunEnabled
        If chkSun.Checked = False And bsun = True Then
            pglbDispRend.IsSunEnabled = False 'unchecked
            CmdSetSun.Enabled = False
        ElseIf chkSun.Checked = True And bsun = False Then
            pglbDispRend.IsSunEnabled = True 'checked
            CmdSetSun.Enabled = True
        End If
    End Sub

    Private Sub ChkTip_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ChkTip.CheckedChanged

        If ChkTip.Checked = False Then
            AxGlobeControl1.ShowGlobeTips = esriGlobeTipsType.esriGlobeTipsTypeNone
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
            cmbTipType.Enabled = False
            TxtTipDelay.Enabled = False
        Else
            Dim sVal As String
            cmbTipType.Enabled = True
            TxtTipDelay.Enabled = True
            sVal = TxtTipDelay.Text
            If sVal = 0 Then sVal = 500 'set it to default..miliseconds
            If cmbTipType.SelectedIndex >= 0 Then m_penumTips = cmbTipType.SelectedIndex
            AxGlobeControl1.TipDelay = sVal
            AxGlobeControl1.TipStyle = esriTipStyle.esriTipStyleSolid
            AxGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips = m_penumTips
            AxGlobeControl1.GlobeDisplay.RefreshViewers()
        End If

    End Sub

    Private Sub AxGlobeControl1_OnGlobeReplaced(ByVal sender As Object, ByVal e As ESRI.ArcGIS.Controls.IGlobeControlEvents_OnGlobeReplacedEvent) Handles AxGlobeControl1.OnGlobeReplaced
        Dim pglbbDispRend As IGlobeDisplayRendering
        pglbbDispRend = AxGlobeControl1.GlobeDisplay
        Dim bsun As Boolean
        bsun = pglbbDispRend.IsSunEnabled
        If bsun = True Then chkSun.Checked = True 'checked
        'get the state of globetips from the loaded doc.....
        m_penumTips = AxGlobeControl1.GlobeViewer.GlobeDisplay.Globe.ShowGlobeTips
    End Sub
End Class