当前位置:首页 > ArcGIS Engine+C# 初学者实例代码
}
(7) 为了操作上的方便,我们添加SymbologyControl的DoubleClick事件,当双击
符号时同按下确定按钮一样,选定符号并关闭符号选择器窗体。代码如下:
///
/// 双击符号同单击确定按钮,关闭符号选择器。 ///
///
this.btnOK.PerformClick(); }
(8) 再添加符号预览函数,当用户选定某一符号时,符号可以显示在PictureBox控
件中,方便预览,函数代码如下:
///
/// 把选中并设置好的符号在picturebox控件中预览 ///
private void PreviewImage() {
stdole.IPictureDisp picture = this.axSymbologyControl.GetStyleClass(this.axSymbologyControl.StyleClass).PreviewItem(pStyleGalleryItem, this.ptbPreview.Width, this.ptbPreview.Height); System.Drawing.Image image = System.Drawing.Image.FromHbitmap(new System.IntPtr(picture.Handle));
this.ptbPreview.Image = image; }
(9) 当SymbologyControl的样式改变时,需要重新设置符号参数调整控件的可视性,
故要添加SymbologyControl的OnStyleClassChanged事件,事件代码与Load事件类似,如下:
///
/// 当样式(Style)改变时,重新设置符号类型和控件的可视性 ///
///
switch ((esriSymbologyStyleClass)(e.symbologyStyleClass)) {
case esriSymbologyStyleClass.esriStyleClassMarkerSymbols: this.lblAngle.Visible = true; this.nudAngle.Visible = true; this.lblSize.Visible = true;
this.nudSize.Visible = true; this.lblWidth.Visible = false; this.nudWidth.Visible = false;
this.lblOutlineColor.Visible = false; this.btnOutlineColor.Visible = false; break;
case esriSymbologyStyleClass.esriStyleClassLineSymbols: this.lblAngle.Visible = false; this.nudAngle.Visible = false; this.lblSize.Visible = false; this.nudSize.Visible = false; this.lblWidth.Visible = true; this.nudWidth.Visible = true;
this.lblOutlineColor.Visible = false; this.btnOutlineColor.Visible = false; break;
case esriSymbologyStyleClass.esriStyleClassFillSymbols: this.lblAngle.Visible = false; this.nudAngle.Visible = false; this.lblSize.Visible = false; this.nudSize.Visible = false; this.lblWidth.Visible = true; this.nudWidth.Visible = true;
this.lblOutlineColor.Visible = true; this.btnOutlineColor.Visible = true; break; } }
2.5 调用自定义符号选择器
通过以上操作,本符号选择器雏形已经完成,我们可以3sdnMap主窗体中调用并进行测试。如果您已经完成“直接调用ArcMap中的符号选择器”这一节,请注释axTOCControl1_OnDoubleClick事件响应函数里的代码,并添加如下代码。如果您是直接学习自定义符号选择器这一节的,请先添加axTOCControl1控件的OnDoubleClick事件,再添加如下事件响应函数代码: ///
/// 双击TOCControl控件时触发的事件 ///
///
共分享92篇相关文档