起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 757|回复: 13

【搞定】第三方控件MapObject在X3环境下没有OnMouseDown触发事件**

[复制链接]
发表于 2007-2-6 08:50:33 | 显示全部楼层 |阅读模式
第三方控件MapObject在X3环境下没有OnMouseDown触发事件(鼠标点击事件),我要实现对地图放大、缩小、移动等功能,要对MapObject控件进行编程,但是MapObject在X3下只有几个自带的触发事件参见图1,而OnMouseDown事件应该是X3编译环境提供的,Delphi编译环境就可以给MapObject空间提供OnMouseDown触发事件,参见图2。请问如何在X3环境下,将OnMouseDown事件添加到MapObject控件中?

图1.jpg

45.51 KB, 下载次数: 218

回复

使用道具 举报

发表于 2007-2-6 09:04:45 | 显示全部楼层
第三方控件有没有这个事件,要看控件本身是否声明了这个事件,即使原来没有,自己要加这个事件的话,也是要在控件的源码文件Map_TLB.pas中加事件的说明!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-6 09:10:20 | 显示全部楼层
我已经查看了源码文件,源码文件Map_TLB.pas已经声明了这个事件,但是没有具体的实现。问题是在Delphi环境下MapObject控件为什么就有OnMouseDown事件?参见图2

图2.jpg

176.51 KB, 下载次数: 188

回复 支持 反对

使用道具 举报

发表于 2007-2-6 09:18:44 | 显示全部楼层
那就是打包过程中出问题了,你把打包的资源文件传上来吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-6 09:18:51 | 显示全部楼层
在Map_TLB.pas中只有procedure MouseDown(Button: Smallint; Shift: Smallint; X: OLE_XPOS_PIXELS; Y: OLE_YPOS_PIXELS); dispid -605;但是没有具体的实现,不过在delphi环境中有OnMouseDown事件可是在x3中没有如何实现x3中也有这个事件
回复 支持 反对

使用道具 举报

发表于 2007-2-6 09:20:06 | 显示全部楼层
procedure MouseDown 这个不是事件的声明,这是个方法!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-6 09:26:12 | 显示全部楼层
打包文件

打包文件.rar

89.75 KB, 下载次数: 130

回复 支持 反对

使用道具 举报

发表于 2007-2-6 09:47:46 | 显示全部楼层
有点奇怪了,这些事件是从祖先类继承下来的,又没有重载,不知为何屏蔽掉了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-6 09:59:50 | 显示全部楼层
是不是x3编译环境的问题,它又不是接口生成.dll文件时应该不会出错吧?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-6 10:07:14 | 显示全部楼层
是在生成.dll文件、打包过程中,还是在x3环境下这个事件被屏蔽掉的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-25 11:23 , Processed in 0.046445 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表