You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							400 lines
						
					
					
						
							14 KiB
						
					
					
				
			
		
		
	
	
							400 lines
						
					
					
						
							14 KiB
						
					
					
				using System; | 
						|
using System.ComponentModel; | 
						|
using System.Drawing; | 
						|
using System.Windows.Forms; | 
						|
using DevExpress.XtraEditors; | 
						|
using DevExpress.XtraEditors.Controls; | 
						|
using DevExpress.XtraEditors.Repository; | 
						|
using ESRI.ArcGIS.Carto; | 
						|
using KGIS.Plugin.LayerProperty.Interface; | 
						|
 | 
						|
namespace KGIS.Plugin.LayerProperty.View.UC_Controls | 
						|
{ | 
						|
	internal class UCRasterLayerDispPropertyPage : XtraUserControl, IUCPropertyPageEx, IPropertyPage | 
						|
	{ | 
						|
		private IContainer components; | 
						|
		private GroupControl groupControl1; | 
						|
		private TrackBarControl trackDisplayResolutionFactor; | 
						|
		private CheckEdit chkShowMapTips; | 
						|
		private SpinEdit spTransparency; | 
						|
		private SpinEdit spBrightness; | 
						|
		private LabelControl labelControl2; | 
						|
		private SpinEdit spContrast; | 
						|
		private LabelControl labelControl1; | 
						|
		private LabelControl labelControl10; | 
						|
		private LabelControl labelControl9; | 
						|
		private GroupControl groupControl2; | 
						|
		private LabelControl labelControl5; | 
						|
		private LabelControl labelControl4; | 
						|
		private LabelControl labelControl3; | 
						|
		private bool m_ShowTips; | 
						|
		private short m_ContrastValue; | 
						|
		private short m_BrightnessValue; | 
						|
		private short m_Transparency; | 
						|
		private int m_DisplayResolutionFactor; | 
						|
		private ILayer m_Layer; | 
						|
		private bool isDirty; | 
						|
        public event  System.EventHandler EditorChanged; | 
						|
		public bool IsPageDirty | 
						|
		{ | 
						|
			get | 
						|
			{ | 
						|
				return this.isDirty; | 
						|
			} | 
						|
			set | 
						|
			{ | 
						|
				this.isDirty = value; | 
						|
			} | 
						|
		} | 
						|
		public int Priority | 
						|
		{ | 
						|
            get; | 
						|
            set; | 
						|
		} | 
						|
		public string Title | 
						|
		{ | 
						|
            get; | 
						|
            set; | 
						|
		} | 
						|
		protected override void Dispose(bool disposing) | 
						|
		{ | 
						|
			if (disposing && this.components != null) | 
						|
			{ | 
						|
				this.components.Dispose(); | 
						|
			} | 
						|
			base.Dispose(disposing); | 
						|
		} | 
						|
		private void InitializeComponent() | 
						|
		{ | 
						|
			this.groupControl1 = new GroupControl(); | 
						|
			this.chkShowMapTips = new CheckEdit(); | 
						|
			this.spTransparency = new SpinEdit(); | 
						|
			this.spBrightness = new SpinEdit(); | 
						|
			this.labelControl2 = new LabelControl(); | 
						|
			this.spContrast = new SpinEdit(); | 
						|
			this.labelControl1 = new LabelControl(); | 
						|
			this.labelControl10 = new LabelControl(); | 
						|
			this.labelControl9 = new LabelControl(); | 
						|
			this.trackDisplayResolutionFactor = new TrackBarControl(); | 
						|
			this.groupControl2 = new GroupControl(); | 
						|
			this.labelControl5 = new LabelControl(); | 
						|
			this.labelControl4 = new LabelControl(); | 
						|
			this.labelControl3 = new LabelControl(); | 
						|
			((ISupportInitialize)this.groupControl1).BeginInit(); | 
						|
			this.groupControl1.SuspendLayout(); | 
						|
			((ISupportInitialize)this.chkShowMapTips.Properties).BeginInit(); | 
						|
			((ISupportInitialize)this.spTransparency.Properties).BeginInit(); | 
						|
			((ISupportInitialize)this.spBrightness.Properties).BeginInit(); | 
						|
			((ISupportInitialize)this.spContrast.Properties).BeginInit(); | 
						|
			((ISupportInitialize)this.trackDisplayResolutionFactor).BeginInit(); | 
						|
			((ISupportInitialize)this.trackDisplayResolutionFactor.Properties).BeginInit(); | 
						|
			((ISupportInitialize)this.groupControl2).BeginInit(); | 
						|
			this.groupControl2.SuspendLayout(); | 
						|
			base.SuspendLayout(); | 
						|
			this.groupControl1.Controls.Add(this.chkShowMapTips); | 
						|
			this.groupControl1.Controls.Add(this.spTransparency); | 
						|
			this.groupControl1.Controls.Add(this.spBrightness); | 
						|
			this.groupControl1.Controls.Add(this.labelControl2); | 
						|
			this.groupControl1.Controls.Add(this.spContrast); | 
						|
			this.groupControl1.Controls.Add(this.labelControl1); | 
						|
			this.groupControl1.Controls.Add(this.labelControl10); | 
						|
			this.groupControl1.Controls.Add(this.labelControl9); | 
						|
			this.groupControl1.Location = new Point(12, 12); | 
						|
			this.groupControl1.Name = "groupControl1"; | 
						|
			this.groupControl1.Size = new Size(389, 176); | 
						|
			this.groupControl1.TabIndex = 22; | 
						|
			this.groupControl1.Text = "显示设置"; | 
						|
			this.chkShowMapTips.Location = new Point(15, 34); | 
						|
			this.chkShowMapTips.Name = "chkShowMapTips"; | 
						|
			this.chkShowMapTips.Properties.Caption = "显示地图提示(使用主显示字段)"; | 
						|
			this.chkShowMapTips.Size = new Size(222, 19); | 
						|
			this.chkShowMapTips.TabIndex = 17; | 
						|
			this.chkShowMapTips.CheckedChanged += new System.EventHandler(this.chkShowMapTips_CheckedChanged); | 
						|
			BaseEdit arg_2BE_0 = this.spTransparency; | 
						|
			int[] bits = new int[4]; | 
						|
			arg_2BE_0.EditValue = new decimal(bits); | 
						|
			this.spTransparency.Location = new Point(78, 127); | 
						|
			this.spTransparency.Name = "spTransparency"; | 
						|
			this.spTransparency.Properties.Buttons.AddRange(new EditorButton[] | 
						|
			{ | 
						|
				new EditorButton() | 
						|
			}); | 
						|
			RepositoryItemSpinEdit arg_329_0 = this.spTransparency.Properties; | 
						|
			int[] array = new int[4]; | 
						|
			array[0] = 100; | 
						|
			arg_329_0.MaxValue = new decimal(array); | 
						|
			this.spTransparency.Properties.MinValue = new decimal(new int[] | 
						|
			{ | 
						|
				100, | 
						|
				0, | 
						|
				0, | 
						|
				-2147483648 | 
						|
			}); | 
						|
			this.spTransparency.Size = new Size(144, 21); | 
						|
			this.spTransparency.TabIndex = 20; | 
						|
			this.spTransparency.EditValueChanged += new System.EventHandler(this.spTransparency_EditValueChanged); | 
						|
			BaseEdit arg_3AD_0 = this.spBrightness; | 
						|
			int[] bits2 = new int[4]; | 
						|
			arg_3AD_0.EditValue = new decimal(bits2); | 
						|
			this.spBrightness.Location = new Point(78, 100); | 
						|
			this.spBrightness.Name = "spBrightness"; | 
						|
			this.spBrightness.Properties.Buttons.AddRange(new EditorButton[] | 
						|
			{ | 
						|
				new EditorButton() | 
						|
			}); | 
						|
			RepositoryItemSpinEdit arg_41E_0 = this.spBrightness.Properties; | 
						|
			int[] array2 = new int[4]; | 
						|
			array2[0] = 100; | 
						|
			arg_41E_0.MaxValue = new decimal(array2); | 
						|
			this.spBrightness.Properties.MinValue = new decimal(new int[] | 
						|
			{ | 
						|
				100, | 
						|
				0, | 
						|
				0, | 
						|
				-2147483648 | 
						|
			}); | 
						|
			this.spBrightness.Size = new Size(144, 21); | 
						|
			this.spBrightness.TabIndex = 20; | 
						|
			this.spBrightness.EditValueChanged += new System.EventHandler(this.spBrightness_EditValueChanged); | 
						|
			this.labelControl2.Location = new Point(17, 130); | 
						|
			this.labelControl2.Name = "labelControl2"; | 
						|
			this.labelControl2.Size = new Size(48, 14); | 
						|
			this.labelControl2.TabIndex = 18; | 
						|
			this.labelControl2.Text = "透明度:"; | 
						|
			BaseEdit arg_4FE_0 = this.spContrast; | 
						|
			int[] bits3 = new int[4]; | 
						|
			arg_4FE_0.EditValue = new decimal(bits3); | 
						|
			this.spContrast.Location = new Point(78, 73); | 
						|
			this.spContrast.Name = "spContrast"; | 
						|
			this.spContrast.Properties.Buttons.AddRange(new EditorButton[] | 
						|
			{ | 
						|
				new EditorButton() | 
						|
			}); | 
						|
			RepositoryItemSpinEdit arg_56F_0 = this.spContrast.Properties; | 
						|
			int[] array3 = new int[4]; | 
						|
			array3[0] = 100; | 
						|
			arg_56F_0.MaxValue = new decimal(array3); | 
						|
			this.spContrast.Properties.MinValue = new decimal(new int[] | 
						|
			{ | 
						|
				100, | 
						|
				0, | 
						|
				0, | 
						|
				-2147483648 | 
						|
			}); | 
						|
			this.spContrast.Size = new Size(144, 21); | 
						|
			this.spContrast.TabIndex = 20; | 
						|
			this.spContrast.EditValueChanged += new System.EventHandler(this.spContrast_EditValueChanged); | 
						|
			this.labelControl1.Location = new Point(17, 103); | 
						|
			this.labelControl1.Name = "labelControl1"; | 
						|
			this.labelControl1.Size = new Size(48, 14); | 
						|
			this.labelControl1.TabIndex = 18; | 
						|
			this.labelControl1.Text = "亮   度:"; | 
						|
			this.labelControl10.Location = new Point(236, 130); | 
						|
			this.labelControl10.Name = "labelControl10"; | 
						|
			this.labelControl10.Size = new Size(135, 14); | 
						|
			this.labelControl10.TabIndex = 19; | 
						|
			this.labelControl10.Text = "(0-100,0表示不透明)"; | 
						|
			this.labelControl9.Location = new Point(17, 76); | 
						|
			this.labelControl9.Name = "labelControl9"; | 
						|
			this.labelControl9.Size = new Size(48, 14); | 
						|
			this.labelControl9.TabIndex = 18; | 
						|
			this.labelControl9.Text = "对比度:"; | 
						|
			this.trackDisplayResolutionFactor.EditValue = 100; | 
						|
			this.trackDisplayResolutionFactor.Location = new Point(34, 56); | 
						|
			this.trackDisplayResolutionFactor.Name = "trackDisplayResolutionFactor"; | 
						|
			this.trackDisplayResolutionFactor.Properties.Maximum = 100; | 
						|
			this.trackDisplayResolutionFactor.Properties.TickFrequency = 10; | 
						|
			this.trackDisplayResolutionFactor.Properties.TickStyle = TickStyle.TopLeft; | 
						|
			this.trackDisplayResolutionFactor.Size = new Size(321, 45); | 
						|
			this.trackDisplayResolutionFactor.TabIndex = 21; | 
						|
			this.trackDisplayResolutionFactor.Value = 100; | 
						|
			this.trackDisplayResolutionFactor.EditValueChanged += new System.EventHandler(this.trackDisplayResolutionFactor_EditValueChanged); | 
						|
			this.groupControl2.Controls.Add(this.labelControl5); | 
						|
			this.groupControl2.Controls.Add(this.labelControl4); | 
						|
			this.groupControl2.Controls.Add(this.labelControl3); | 
						|
			this.groupControl2.Controls.Add(this.trackDisplayResolutionFactor); | 
						|
			this.groupControl2.Location = new Point(12, 194); | 
						|
			this.groupControl2.Name = "groupControl2"; | 
						|
			this.groupControl2.Size = new Size(389, 123); | 
						|
			this.groupControl2.TabIndex = 23; | 
						|
			this.groupControl2.Text = "显示质量"; | 
						|
			this.labelControl5.Location = new Point(331, 36); | 
						|
			this.labelControl5.Name = "labelControl5"; | 
						|
			this.labelControl5.Size = new Size(24, 14); | 
						|
			this.labelControl5.TabIndex = 24; | 
						|
			this.labelControl5.Text = "一般"; | 
						|
			this.labelControl4.Location = new Point(182, 36); | 
						|
			this.labelControl4.Name = "labelControl4"; | 
						|
			this.labelControl4.Size = new Size(24, 14); | 
						|
			this.labelControl4.TabIndex = 23; | 
						|
			this.labelControl4.Text = "中等"; | 
						|
			this.labelControl3.Location = new Point(34, 36); | 
						|
			this.labelControl3.Name = "labelControl3"; | 
						|
			this.labelControl3.Size = new Size(24, 14); | 
						|
			this.labelControl3.TabIndex = 22; | 
						|
			this.labelControl3.Text = "粗糙"; | 
						|
			base.AutoScaleDimensions = new SizeF(6f, 12f); | 
						|
			base.AutoScaleMode = AutoScaleMode.Font; | 
						|
			base.Controls.Add(this.groupControl2); | 
						|
			base.Controls.Add(this.groupControl1); | 
						|
			base.Name = "UCRasterLayerDispPropertyPage"; | 
						|
			base.Size = new Size(416, 409); | 
						|
			((ISupportInitialize)this.groupControl1).EndInit(); | 
						|
			this.groupControl1.ResumeLayout(false); | 
						|
			this.groupControl1.PerformLayout(); | 
						|
			((ISupportInitialize)this.chkShowMapTips.Properties).EndInit(); | 
						|
			((ISupportInitialize)this.spTransparency.Properties).EndInit(); | 
						|
			((ISupportInitialize)this.spBrightness.Properties).EndInit(); | 
						|
			((ISupportInitialize)this.spContrast.Properties).EndInit(); | 
						|
			((ISupportInitialize)this.trackDisplayResolutionFactor.Properties).EndInit(); | 
						|
			((ISupportInitialize)this.trackDisplayResolutionFactor).EndInit(); | 
						|
			((ISupportInitialize)this.groupControl2).EndInit(); | 
						|
			this.groupControl2.ResumeLayout(false); | 
						|
			this.groupControl2.PerformLayout(); | 
						|
			base.ResumeLayout(false); | 
						|
		} | 
						|
		public UCRasterLayerDispPropertyPage() | 
						|
		{ | 
						|
			this.InitializeComponent(); | 
						|
		} | 
						|
        private void chkShowMapTips_CheckedChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_ShowTips = this.chkShowMapTips.Checked; | 
						|
				this.InvokeEditValueChanged(sender, e); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		private void spContrast_EditValueChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_ContrastValue = Convert.ToInt16(this.spContrast.EditValue); | 
						|
				this.InvokeEditValueChanged(sender, e); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		private void spBrightness_EditValueChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_BrightnessValue = Convert.ToInt16(this.spBrightness.EditValue); | 
						|
				this.InvokeEditValueChanged(sender, e); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		private void spTransparency_EditValueChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_Transparency = Convert.ToInt16(this.spTransparency.EditValue); | 
						|
				this.InvokeEditValueChanged(sender, e); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		private void trackDisplayResolutionFactor_EditValueChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_DisplayResolutionFactor = Convert.ToInt32(this.trackDisplayResolutionFactor.EditValue); | 
						|
				this.InvokeEditValueChanged(sender, e); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		public bool CanWrite2Prop() | 
						|
		{ | 
						|
			return true; | 
						|
		} | 
						|
		private void InvokeEditValueChanged(object sender, System.EventArgs e) | 
						|
		{ | 
						|
            if (this.EditorChanged != null) | 
						|
			{ | 
						|
                this.EditorChanged(sender, e); | 
						|
			} | 
						|
			this.isDirty = true; | 
						|
		} | 
						|
		public void SetDefaultValue(object value) | 
						|
		{ | 
						|
		} | 
						|
		public void InitUC(object layerProperty) | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				if (layerProperty is ILayer) | 
						|
				{ | 
						|
					this.m_Layer = (layerProperty as ILayer); | 
						|
				} | 
						|
				this.chkShowMapTips.Checked = this.m_Layer.ShowTips; | 
						|
				ILayerEffects layerEffects = layerProperty as ILayerEffects; | 
						|
				this.spBrightness.EditValue = layerEffects.Brightness; | 
						|
				this.spContrast.EditValue = layerEffects.Contrast; | 
						|
				this.spTransparency.EditValue = layerEffects.Transparency; | 
						|
				IRasterLayer rasterLayer = layerProperty as IRasterLayer; | 
						|
				this.trackDisplayResolutionFactor.EditValue = rasterLayer.DisplayResolutionFactor; | 
						|
				this.m_ShowTips = this.chkShowMapTips.Checked; | 
						|
				this.m_ContrastValue = Convert.ToInt16(this.spContrast.EditValue); | 
						|
				this.m_BrightnessValue = Convert.ToInt16(this.spBrightness.EditValue); | 
						|
				this.m_Transparency = Convert.ToInt16(this.spTransparency.EditValue); | 
						|
				this.m_DisplayResolutionFactor = (int)Convert.ToInt16(this.trackDisplayResolutionFactor.EditValue); | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				//RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		public void Write2Prop() | 
						|
		{ | 
						|
			try | 
						|
			{ | 
						|
				this.m_Layer.ShowTips = this.m_ShowTips; | 
						|
				ILayerEffects layerEffects = this.m_Layer as ILayerEffects; | 
						|
				layerEffects.Brightness = this.m_BrightnessValue; | 
						|
				layerEffects.Contrast = this.m_ContrastValue; | 
						|
				layerEffects.Transparency = this.m_Transparency; | 
						|
				IRasterLayer rasterLayer = this.m_Layer as IRasterLayer; | 
						|
				rasterLayer.DisplayResolutionFactor = this.m_DisplayResolutionFactor; | 
						|
				this.isDirty = false; | 
						|
			} | 
						|
			catch (Exception ex) | 
						|
			{ | 
						|
				///RdbUtil.AddException(ex); | 
						|
			} | 
						|
		} | 
						|
		public int Activate() | 
						|
		{ | 
						|
            return 0; | 
						|
		} | 
						|
		public void Deactivate() | 
						|
		{ | 
						|
			 | 
						|
		} | 
						|
		public void Cancel() | 
						|
		{ | 
						|
			 | 
						|
		} | 
						|
		void IUCPropertyPageEx.Hide() | 
						|
		{ | 
						|
			base.Hide(); | 
						|
		} | 
						|
		void IUCPropertyPageEx.Show() | 
						|
		{ | 
						|
			base.Show(); | 
						|
		} | 
						|
	} | 
						|
}
 | 
						|
 |