欢迎来到天天文库
浏览记录
ID:39302808
大小:428.10 KB
页数:41页
时间:2019-06-30
《Arcengine培训资料》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、定制并扩展控件课程5ToolbarControl框架创建定制命令,工具和扩展Customizedialog(定制对话框)ToolbarMenus(工具栏菜单)2定制和扩展类型许多客户化定制是可使用的在运行时准许增加或删除命令在工具栏上可定制保存且导入在运行时建立和展示菜单不同的扩展也可以执行创建定制命令,工具,菜单和工具栏定制扩展MapControlToolbarTOCToolRead/WriteApplicationDataToolMenu3TheToolbarControl框架ToolbarCo
2、ntrolToolbarItemsCommandPoolToolBarMenuToolbarItemsCommandPoolCustomizeDialog4ToolbarItems执行添加item到工具栏的类用于管理已经存在的item新建项(items)类型Commands,Tools,ToolControls和ToolbarMenus5CommandPool对所有CommandItems进行管理仅有两个对象可能直接访问poolToolbarControlToolbarMenu提供了一些低层接口项(
3、items)ICommandPool::CreatedICommandPool::ExistsICommandPoolEdit::CallOnCreateICommandPoolEdit::Hook开发工程师一般都不使用6如何得到CommandPool中的项(items)方法1:通过新建一个Command对象(object)的实例NewCommandItem是创建的一个对象不能共享方法2:通过Command的UID来取得对象命令如果CommandItem不存在那么将被创建所有的引用都将共享这个实例D
4、impUidAsNewesriSystem.UIDpUid.Value="esriControlCommands.ControlsMapZoomInTool"ToolbarControl1.AddItempUid,0,-1,True,,esriCommandStyleIconAndTextDimcommandasICommand=NewesriControlCommands.ControlsMapZoomInToolToolbarControl1.AddItemcommand,0,-1,True,,
5、esriCommandStyleIconAndText7ToolbarControl命令创建周期每个item添加到CommandPool的过程Toolbar初始化组合成CommandPoolCmdCmdIToolbarItemIToolbarItemCmd1IToolbarItemTool22IToolbarItemMenu3Items加入Command,toolormenu被创建UpdateInterval8ToolbarItems和Commands共同起作用ToolbarItems包含comma
6、ndsIToolbarItemCommand:提供访问commandStyle:指定command类型UID:command的唯一识别IDDimtoolbarItemAsIToolbarItemFori=0ToAxToolbarControl1.Count-1toolbarItem=AxToolbarControl1.GetItem(i)DimcommandasICommandcommand=toolbarItem.CommandMsgBox(command.Name&toolbarItem.Sty
7、le&toolbarItem.UID.Value)Next9如何运行定制命令(commands)框架提供可以创建定制命令(commands)能力如何无缝添加到ToolbarControl导入一个CommandItem其外表以及行为和其他items一样执行任何ArcObjects代码步骤创建一个class执行ICommand增加类(class)到工具栏(toolbar)PublicClassZoomToLayerClassImplementsICommand10定制命令(commands):设置属性当
8、命令(command)被创建,其属性是可以访问的ICommandNameCaptionCategoryTooltipMessageBitmapHelpContextHelpFilePublicReadOnlyPropertyBitmap()AsIntegerImplementsESRI.ArcGIS.SystemUI.ICommand.BitmapGetreturnm_bitmapEndGetEndPropertyPublicReadOnlyPropertyCapti
此文档下载收益归作者所有