阅读:2116回复:6
[求助]不用ToolbarControl控件怎样实现同样的功能?各位兄弟,我用的是PB8+ArcObject开发GIS, 在PB里不能做DLL的,请问怎么实现自定义工具呢? 我的意思是完全不用ToolbarControl控件,用语言本身(VB,JAVA,PB)的工具栏和菜单怎么做? [此贴子已经被作者于2005-4-13 11:29:54编辑过] |
|
1楼#
发布于:2005-04-12 14:30
[此贴子已经被作者于2005-4-12 14:33:08编辑过] |
|
2楼#
发布于:2005-04-12 15:58
楼上的兄弟,是用IMapControl3的CurrentTool 属性吗?要传给它一个ITool类型的对像哟,那建自定义工具怎么办? 还是要实现ITool接口呀?PB不能实现接口的,不知你用过MapX没有, 最好能像MapX那样就爽了,
|
|
3楼#
发布于:2005-04-13 11:26
C#代码,在自己的Toolbar中使用ArcEngine自带的命令 ESRI.ArcGIS.SystemUI.ICommand pCommand; pCommand = new ESRI.ArcGIS.ControlCommands.ControlsMapZoomInToolClass (); pCommand.OnCreate (axMapControl1.Object ); axMapControl1.CurrentTool = pCommand as ESRI.ArcGIS.SystemUI.ITool ; |
|
4楼#
发布于:2005-04-13 11:37
建自定义工具怎么办?还不是要实现Icommand和Itool两个接口建一个DLL?我用的PB语言是不能实现COM接口制做DLL的哟.只能新定义自己的接口. 其实我只要有办法控制鼠标在地图上的光标和行为就好了,这样所有的工具功能就可以自己实现.怎么做呢?. [此贴子已经被作者于2005-4-13 11:44:03编辑过] |
|
5楼#
发布于:2005-04-13 12:00
在创建工具时new一个自己定义的工具类就行了 ESRI.ArcGIS.SystemUI.ICommand pCommand; pCommand = new MyCommand(); pCommand.OnCreate (axMapControl1.Object );//传入参数hook,非必要 [此贴子已经被作者于2005-4-13 12:01:14编辑过] |
|
6楼#
发布于:2005-04-13 15:30
gs11982兄弟: 你那个MyCommand类是不是要实现Icommand和ITool两个接口中的方法? 是否还要做成动态链接库(dll)? 我用的PB语言不支持实现COM接口的,就像这样:Implement Icommand的语法是没有的哟. 能不能给个QQ联系一下,我的QQ是:274759629,谢谢了! [此贴子已经被作者于2005-4-13 15:34:26编辑过] |
|