找回密码
 立即注册

QQ登录

只需一步,快速开始

binal-sy

注册会员

8

主题

24

帖子

88

积分

注册会员

积分
88
binal-sy
注册会员   /  发表于:2018-5-17 10:31  /   查看:3703  /  回复:7
以前用的spread2.5中ActiveWindowlessObject可以获取到值  移植到spread11中ActiveWindowlessObject获取到的值就是nothing  高手们有什么解决方案麻烦提供一下

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-17 10:46:19
沙发
是空就说明没有选择的shape,您看看是不是触发时机的问题。
回复 使用道具 举报
binal-sy
注册会员   /  发表于:2018-5-17 10:51:12
板凳
dexteryao 发表于 2018-5-17 10:46
是空就说明没有选择的shape,您看看是不是触发时机的问题。

Private Sub shape_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

If (Me.sprDocImage.ActiveWindowlessObject IsNot Nothing) And e.Button = MouseButtons.Right Then
            Me.sprDocImage.ContextMenu = Me.vctlStampContextMenu
        Else
            Me.sprDocImage.ContextMenu = Nothing
        End If
End Sub

这是执行代码   是鼠标点击右键触发事件  您看一下有什么问题
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-17 12:17:42
地板
您是在click时候判断的,click的瞬间,shape还没有真正被选中,
通过hittest去判断点击的具体信息

            var abc = fpSpread1.HitTest(3, 3);
            abc.ViewportInfo.InShape
回复 使用道具 举报
binal-sy
注册会员   /  发表于:2018-5-17 13:08:23
5#
dexteryao 发表于 2018-5-17 12:17
您是在click时候判断的,click的瞬间,shape还没有真正被选中,
通过hittest去判断点击的具体信息

谢谢  我修改代码试一下
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-17 14:20:45
6#
有问题继续发帖
回复 使用道具 举报
binal-sy
注册会员   /  发表于:2018-5-17 15:37:42
7#

为什么这段代码在spread2.5中是可以运行的  ActiveWindowlessObject可以获取到值
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-5-17 16:48:12
8#
2.5很老了,.也没法考证了,对于点击,现在推荐用hittest。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部