6

Flexでは、デフォルトで、テキスト入力の上にマウスを置くと、マウスカーソルが標準のIクロスバーに変更されます。このカーソルを変更して、クロスバーではなく通常のマウスポインタカーソルが表示されるようにするにはどうすればよいですか?

更新:まあ、このブログ投稿によると、このプロセスはFlex 4では非常に単純なようです:http://blog.flexexamples.com/2008/11/03/setting-mouse-cursors-in-flash-player-10/

とりあえずFlex3で立ち往生しているので、どうすれば似たようなことができますか?

update2:また、この質問はこの質問にいくぶん似ています: FlashCS3の動的テキストフィールドでのカーソル変更の回避

ただし、FlashCS3ではなく標準のFlexBuilderを使用しています。

4

5 に答える 5

7

明確にするために、MouseCursor およびMouseクラスは Flash 10 の Flex 3 にも存在します。したがって、MOUSE_OVER および MOUSE_OUT イベントにフックできます。

elem.addEventListener(MouseEvent.MOUSE_OVER, function(event:Event):void {
    Mouse.cursor = MouseCursor.BUTTON;
});

elem.addEventListener(MouseEvent.MOUSE_OUT, function(event:Event):void {
    Mouse.cursor = MouseCursor.ARROW;
});
于 2010-10-01T11:34:05.860 に答える
4

変更する必要のある3つのプロパティがありますuseHandCursor=true buttonMode = true mouseChildren = false

Leete詳細情報この記事http://www.anujgakhar.com/2008/03/27/flex-how-to-display-hand-cursor-on-components/

于 2010-03-30T21:27:51.333 に答える
0

TextInput の代わりに Label で HBOX を使用できます。マウスがラベル上にある場合、システムはカーソルを変更しません。ユーザーがテキストを編集できるようにする場合は、さらに作業を行う必要があります。

public class MyTextInput extends HBox
{
public function  MyTextInput()
{
   super();
   var label:Label = new Label();
   label.text="some text";
   addChild(label);
   addEventListener(MouseEvent.CLICK, editProperties, true);
}
private function editProperties(event:MouseEvent)
{
  //do something to allow the user to edit the text e.g. PopupManager.createPopup
}
}
于 2009-05-13T16:59:22.290 に答える
-1

任意のコンポーネントに対してbuttonModeプロパティをtrueに設定する別の方法もあります。これにより、テキスト カーソルの代わりにマウス カーソルが表示されます。

于 2009-09-16T10:22:48.757 に答える