我有一个Squeak图形用户界面的图像,其中包含一些透明的部分,因此不应该接受任何鼠标事件等,但只是可见,但它需要在其他变形可见。
这就是为什么我认为将出现的鼠标事件传播到底层的变形中会很有用。有没有人知道我的问题的解决方案或其他解决方案。
V <- mouseDownEvent
_____________________________ <- transparent image (BorderedMorph)
_____ _____ _____
_| |___| |___| |__ <- buttons waiting for click and drop events
_____________________________ <- basic morph我希望这能说明我的问题。
发布于 2010-07-14 05:21:47
我能想到的最好的事情是这样的(顺畅程度递增,可能性递减)
发布于 2012-07-19 00:07:06
默认情况下,变形鼠标事件在最顶部的变形中处理。然而,父变形能够使用#mouseDownPriority截获向子变形的#mouseDown。
你的透明图片获得了所有的点击,因为它是最顶端的。看看#rejectsEvent:吧。它只是结合了#isLocked和#visible来拒绝事件。您可能希望覆盖此选项,以便即使可见也拒绝事件。
例如:
MyMorph>>rejectsEvent: anEvent
^ true "Ignores all events."https://stackoverflow.com/questions/2093988
复制相似问题