Flex: как установить курсор в виде руки? - PullRequest
8 голосов
/ 12 августа 2011

Я пытаюсь установить курсор на HBox. Я пытался ButtonMode и использовать HandCursor, но не повезло. В этом примере отображается курсор занятости. Может кто-нибудь сказать мне, как сделать так, чтобы он отображал курсор мыши на flashPlayer?

<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:components="com.dn2k.components.*"  >

<fx:Script>
    <![CDATA[
        private var cursorID:int;
        //cursorManager

        protected function box_mouseOverHandler(event:MouseEvent):void
        {
            cursorManager.setBusyCursor()
        }
    ]]>
</fx:Script>

<mx:HBox id="box" useHandCursor="true" buttonMode="true" mouseChildren="false" backgroundColor="0xcc0000" mouseOver="box_mouseOverHandler(event)">
    <s:Label text="Hiya sexy..."/>
</mx:HBox>

Ответы [ 5 ]

7 голосов
/ 12 августа 2011

Этот код прекрасно показывает, когда мышь находится над контейнером:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:s="library://ns.adobe.com/flex/spark">
    <mx:HBox backgroundColor="0xcc0000" buttonMode="true" id="box" mouseChildren="false" useHandCursor="true">
        <s:Label text="Hiya sexy..." />
    </mx:HBox>
</s:Application>
3 голосов
/ 14 октября 2014

Если вы хотите установить курсор в виде метки, вы должны установить mouseChildren = ”false”, а ниже приведен исправленный код

<mx:HBox backgroundColor="0xcc0000" buttonMode="true" id="box" useHandCursor="true">
        <s:Label text="Hiya sexy..." buttonMode="true" mouseChildren="false" useHandCursor="true" />
    </mx:HBox>

Надеюсь, это работает для вас.

0 голосов
/ 17 октября 2016

Вы также можете использовать более новый класс Mouse, который обеспечивает более высокую частоту кадров собственного курсора.

<mx:HBox rollOver="Mouse.cursor = MouseCursor.BUTTON" 
         backgroundColor="0" backgroundAlpha="0"
         rollOut="Mouse.cursor = MouseCursor.AUTO"/>

Цвет фона и альфа-фон используются для выделения графики, которая используется в качестве области попадания.В пустых контейнерах Spark есть свойство mouseEnabledWhereTransparent, которое, я думаю, не существовало в контейнерах mx.Вот документация по нему:

Когда true, это свойство гарантирует, что все границы группы реагируют на события мыши, такие как щелчок и пролонгация.Это свойство вступает в силу только в том случае, если к этому экземпляру добавлены события жестов мыши, касания или флэш-плеера.Кроме того, предполагается, что вызовы addEventListener () / removeEventListener () не являются лишними.

Сказав, что кажется, что это работает без установки свойства mouseEnabledWhereTransparent:

<s:Group id="testingHitGroup" left="10" top="10" 
         rollOver="cursorObject_rollOver(event)" width="100" height="100"/>
0 голосов
/ 12 августа 2011

Примерно в середине этого обсуждения на форуме вы можете найти полезный пример:

Custom CursorManager См. Сообщение # 7

0 голосов
/ 12 августа 2011

Что сказал Джефф. Также вы можете использовать CursorManager.setCursor(). Вы должны будете вставить графику для курсора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...