hehui
路人甲
路人甲
  • 注册日期2003-09-26
  • 发帖数82
  • QQ
  • 铜币588枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1883回复:5

toolbar

楼主#
更多 发布于:2005-09-12 16:55
<P>开发语言c#.</P>
<P>功能.自己开发的command或着tool可以加上.</P>
<P>问题.为什么我的写的command或着tool采用toolbarcontrol.additem();之后不能用啊.所有的事件比如onclick等,不能实现啊.</P>
喜欢0 评分0
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-09-12 17:02
<P>把相关代码发上来看看</P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
hehui
路人甲
路人甲
  • 注册日期2003-09-26
  • 发帖数82
  • QQ
  • 铜币588枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-09-14 10:54
<P>using System;<BR>using ESRI.ArcGIS.Utility.BaseClasses;<BR>using ESRI.ArcGIS.Carto;<BR>using ESRI.ArcGIS.MapControl;</P>
<P><BR>namespace mytool<BR> /// <summary><BR> /// Full 的摘要说明。<BR> /// </summary><BR> public class Full: BaseCommand<BR> {<BR>  private IMapControl3 m_mapControl;</P>
<P>  public Full()<BR>  {<BR>   //<BR>   // TOD 在此处添加构造函数逻辑<BR>   //<BR>   base.m_caption = "full";<BR>  }<BR>  public override void OnClick()<BR>  {<BR>   m_mapControl.ActiveView.Extent = m_mapControl.ActiveView.FullExtent;   <BR>  }<BR> <BR>  public override void OnCreate(object hook)<BR>  {<BR>   m_mapControl = (IMapControl3) hook;<BR>  }<BR> }<BR>}<BR> 主界面<BR>m_mapControl = (IMapControl3) axMapControl1.Object;<BR>   <BR>   <BR>   <BR>   axToolbarControl1.SetBuddyControl(m_mapControl);<BR><BR>axToolbarControl1.AddItem(new mytool.Full(),-1,0,false,0,esriCommandStyles.esriCommandStyleTextOnly);</P>
举报 回复(0) 喜欢(0)     评分
kisssy
卧底
卧底
  • 注册日期2004-04-18
  • 发帖数235
  • QQ
  • 铜币614枚
  • 威望2点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-09-14 14:35
<P>我C#不熟悉,但是你的类应该这样写</P>
<P>using System;</P>
<P>using ESRI.ArcGIS.Utility.BaseClasses;<BR>using ESRI.ArcGIS.Carto;<BR>using ESRI.ArcGIS.MapControl;<BR>using ESRI.ArcGIS.ControlCommands;</P>
<P>namespace mytool<BR>{<BR> /// <summary><BR> /// Summary description for Full.<BR> /// </summary><BR> public class Full:BaseCommand<BR> {<BR>  private IHookHelper m_hook1=new HookHelperClass();</P>
<P>  public Full()<BR>  {<BR>   //<BR>   // TOD Add constructor logic here<BR>   //<BR>   base.m_caption = "full";<BR>   base.m_name ="full";<BR>            base.m_message="full";<BR>   base.m_toolTip="full";<BR>   base.m_enabled=true;<BR>            <BR>  }<BR>  public override void OnClick()<BR>  {<BR>   m_hook1.ActiveView.Extent = m_hook1.ActiveView.FullExtent;   <BR>  }<BR>  public override void OnCreate(System.Object hook)<BR>  {<BR>   m_hook1.Hook=hook;<BR>  }</P>
<P>  <BR> }<BR>}</P>
个人专栏: https://zhuanlan.zhihu.com/c_165676639
举报 回复(0) 喜欢(0)     评分
dan800913
路人甲
路人甲
  • 注册日期2005-01-10
  • 发帖数102
  • QQ
  • 铜币617枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-09-14 20:16
<P>首先,你定义的m_mapControl跟你自己界面中的mapcontrol没有建立起联系,需要用hook来建立,或者将主界面窗体实例化,获取它的mapcontrol。</P>
<P>其次,需要类的初始化和对象释放。</P>
举报 回复(0) 喜欢(0)     评分
echodjx
路人甲
路人甲
  • 注册日期2004-06-06
  • 发帖数37
  • QQ
  • 铜币29枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-10-13 08:40
能不能再详细点?多谢!
举报 回复(0) 喜欢(0)     评分
游客

返回顶部