2010-03-30 6 views
2

Можно ли изменить курсор мыши для текстового поля, чтобы он отображался как объект, который можно щелкнуть?Изменение курсора для текстового поля() мышь над

import flash.display.*; 
import flash.events.*; 
import flash.geom.*; 
import flash.net.*; 
import flash.text.*; 
import flash.ui.ContextMenu; 
import flash.utils.*; 

import mx.core.*; 
+0

Что вы имеете в виду? Обычно вы можете использовать событие 'onEnter' для текстового поля, когда пользователь нажимает на него. – thecoshman

+0

Просто хочу, чтобы рука появилась там – Tom

ответ

2

Я предполагаю, что вы хотите, чтобы курсор был рукой, которая является по умолчанию для объектов с кликом. Попробуйте следующий AS-код:

myTextField.buttonMode = true; 
myTextField.useHandCursor = true; 
myTextField.mouseChildren = false; 

Или, в MXML:

<mx:Text buttonMode="true" useHandCursor="true" mouseChildren="false" /> 

См this article объяснения.

Редактировать: Этот код использует объект mx.controls.Text. Если вы хотите, чтобы он работал с объектами flash.text.TextField, используйте the solution provided by davr.

+0

Доступ к возможно неопределенной свойства buttonMode через ссылку со статическим типом flash.text: TextField. – Tom

+0

Какой тип контейнера вы используете, который содержит текстовое поле? – Prutswonder

+0

my class extends Sprite – Tom

5

Вам нужно поместить TextField внутри спрайта, посланному TextField mouseEnabled на false, а кнопка SpriteMode - true. Например:

var spr:Sprite = new Sprite(); 
var txt:TextField = new TextField(); 
txt.text = "Hello World!"; 
txt.mouseEnabled = false; 
spr.buttonMode = true; 
spr.addChild(txt); 
addChild(spr); 
+0

Извините, все еще проблема, весь мой APP - спрайт, теперь этот спрайт вообще не появляется? – Tom

+0

Должна быть какая-то другая ошибка в вашем коде. Не могу дать никаких советов, не видя весь код. – davr

Смежные вопросы