阅读:2105回复:5
toolbar
<P>开发语言c#.</P>
<P>功能.自己开发的command或着tool可以加上.</P> <P>问题.为什么我的写的command或着tool采用toolbarcontrol.additem();之后不能用啊.所有的事件比如onclick等,不能实现啊.</P> |
|
1楼#
发布于:2005-10-13 08:40
能不能再详细点?多谢!
|
|
2楼#
发布于:2005-09-14 20:16
<P>首先,你定义的m_mapControl跟你自己界面中的mapcontrol没有建立起联系,需要用hook来建立,或者将主界面窗体实例化,获取它的mapcontrol。</P>
<P>其次,需要类的初始化和对象释放。</P> |
|
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> |
|
|
4楼#
发布于: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> |
|
5楼#
发布于:2005-09-12 17:02
<P>把相关代码发上来看看</P>
|
|
|