2009-01-31 109 views
3

我知道MovieClip上的buttonMode属性(以获取悬停的手形光标),并且我希望对TextField执行相同的操作,但似乎并未实现此属性。有谁知道是否有类似的东西,或者失败了,另一种方法来控制文本框的光标?将光标悬停在文本框上


@詹姆斯:我在扩展MovieClip类,然后创建一个从cllass中的对象(包括文本域)的代码,这会使事情变得复杂一点(如果只在我脆弱的大脑)。奇怪的是我已经在MC上设置了buttonMode = true,并且它适用于除TextField之外的所有内容,当它返回到插入符号处(或者,如果我在TextField上设置了Selectable = false,则只是指针)。

@ForYourOwnGood:关于可用性的观点,但我希望textfield成为一个更大对象的无缝部分,没有手形光标就会感觉不对。你提供的声音听起来像是我需要的,但它看起来像是Flex特定的?尽管通过LiveDocs进行搜索,但我无法在Flash(特别是CS4)中找到相应内容。我是昏暗的吗? :S

回答

9

尝试添加

mouseChildren = false; (在扩展MovieClip的类中)

它应该停止文本字段被鼠标启用。

+0

绝对地发现...你是一个天才:)感谢你的时间和节省我的矿。像这样的小事可能会浪费很多! – Dan 2009-01-31 20:31:55

2

您无法像使用MovieClip一样使用TextField设置手形光标。这是有道理的,如果你考虑一下,Textfield上的手形光标不便于用户使用,用户希望将文本输入到TextField中,而不是像Button那样点击它。不过有一个可以使用的解决方法。

为TextField提供鼠标悬停事件的事件侦听器,然后在事件处理函数中通过CursorManager设置光标。

应该是这个样子......

myTextField.addEventLstener(MouseEvent.MOUSE_OVER, onMouseOver); 

private function onMouseOver(event : MouseEvent) : void{ 
    CursorManager.setCursor(cursorClass, priority, xOffset, yOffset); 
} 
4

或者你可以把文本字段一个影片剪辑中,并设置buttonmode为true上。这基本上是按钮组件的工作原理,对于这个特定的问题是一个可接受的解决方案。

+0

非常适合我 - 谢谢! – JBRWilkinson 2010-11-21 23:55:47

0

我会很原始地放置阿尔法= 0的动画片段上的文本框/标签的按钮,这也带来了handCursor回

2

没有_sprite.buttonMode = true操作的顶部, 你必须这样写:

_textField.htmlText = "<a href='event:null'>"+yourText+"</a>";

1

没有任何的上面是neccessary,尝试设置文本域的mouseEnabled属性设置为false,如:

textField.mouseEnabled = false; 

这将禁用TextField上的任何鼠标交互,从而停止Flash观看选择内容。