阅读:1963回复:2
自己的工具条中使用ArcGIS Engine提供的命令和工具???
<P>猪头外劳提供的资料,但我要用icommand旧说类型不匹配,请指教 <BR><STRONG>好用的:</STRONG><STRONG>自己的工具条中使用ArcGIS Engine提供的命令和工具</STRONG><BR>以放大工具为例,在你自己的工具条上的ZoomInTool的Click事件中添加以下的代码就可以使用Engine提供的放大的功能。下面是c#的代码<BR>ESRI.ArcGIS.SystemUI.ICommand pCommand;<BR>pCommand = new ESRI.ArcGIS.ControlCommands.ControlsMapZoomInToolClass ();<BR>pCommand.OnCreate (axMapControl1.Object );<BR>axMapControl1.CurrentTool = pCommand as ESRI.ArcGIS.SystemUI.ITool ;</P>
<P>不好用的:</P> <P>ESRI.ArcGIS.SystemUI.ICommand pCommand;<BR>pCommand = new ESRI.ArcGIS.ControlCommands.ControlsMapFullClass ();<BR>pCommand.OnCreate (axMapControl1.Object );<BR>axMapControl1.CurrentTool = pCommand as ESRI.ArcGIS.SystemUI.ITool ;</P> <P>或axMapControl1.CurrentTool = pCommand as ESRI.ArcGIS.SystemUI.ICommand ;都不好用</P> |
|
1楼#
发布于:2006-09-15 15:05
<P> Dim pCmd As ICommand<BR> Select Case e.Item.Description<BR> Case "ZoomIn"<BR> pCmd = New ControlsMapZoomInToolClass<BR> pCmd.OnCreate(engMap.Object)<BR> pCmd.OnClick()<BR> engMap.CurrentTool = pCmd<BR> Case "ZoomOut"<BR> pCmd = New ControlsMapZoomOutToolClass<BR> pCmd.OnCreate(engMap.Object)<BR> pCmd.OnClick()<BR> engMap.CurrentTool = pCmd<BR> Case "Pan"<BR> pCmd = New ControlsMapPanToolClass<BR> pCmd.OnCreate(engMap.Object)<BR> pCmd.OnClick()<BR> engMap.CurrentTool = pCmd<BR> Case Else<BR> MsgBox("Invalid")<BR> End Select</P>
<P><a href="mailtmawzh@tom.com" target="_blank" >mawzh@tom.com</A></P> |
|
2楼#
发布于:2006-09-17 05:33
<P>最后一行改为:pCommand.OnClick 即可</P>
|
|