Chap02--ArcObjects开发Chap02--ArcGIS应用程序框架扩展(AE10+VS2010).ppt
文本预览下载声明
private void OnSelectionChanged() { IMap focusMap; IFeatureLayer featLayer; IFeatureSelection featSel; focusMap = m_map; this.listBox1.Items.Clear(); for (int i = 0; i = focusMap.LayerCount - 1; i++) { if (focusMap.get_Layer(i) is IFeatureSelection) { featLayer = focusMap.get_Layer(i) as IFeatureLayer; featSel = featLayer as IFeatureSelection; this.listBox1.Items.Add(featLayer.Name + : + featSel.SelectionSet.Count); } } } 使用DockableWindow(CMD) private IApplication m_app; private IDockableWindow m_dockWin; public override void OnCreate(object hook) { if (hook == null) return; if (hook is IMxApplication) { m_app = hook as IApplication; IDockableWindowManager dockWinMgr = m_app as IDockableWindowManager; UID u = new UID(); u.Value = {a8bfd199-e06f-47ef-9f03-4d3eaef856cd}; m_dockWin = dockWinMgr.GetDockableWindow(u); } else base.m_enabled = false; } public override void OnClick() { m_dockWin.Show(!m_dockWin.IsVisible()); } public override bool Checked { get { return m_dockWin.IsVisible (); } } * 显示进度条例子代码: void ProgressBar( IApplication m_app) { IStatusBar pStatusBar; IStepProgressor pProgbar; pStatusBar = m_app.StatusBar; pProgbar = pStatusBar.ProgressBar; pProgbar.Position = 0; pStatusBar.ShowProgressBar(载入..., 0, 900000, 1, true); for (int i = 0; i 900000; i++) { pStatusBar.StepProgressBar(); } pStatusBar.HideProgressBar(); } 2.6 快捷键表 为了方便用户快速操作程序,很多软件都提供了快捷键的功能,它是实际键盘按键和命令之间的一种映射,当用户按下与某个命令相关联的按键时,这个命令就将被执行。 ArcMap使用AcceleratorTable对象来保存这种双向的映射关系,用户
显示全部