2010-05-24 5 views
1

Je suis conscient du fait que le suivi affiche un curseur de la main:Comment afficher le curseur de la main lorsque la souris est sur Composant Liste?

component.mouseChildren = true; 
component.useHandCursor = true; 
component.buttonMode = true; 

Quand je fais ci-dessus sur un composant List, le bouton main est affiché et le composant entier perd son interactivité (curseur à la main est affichée même barres de défilement).

Alors comment est-ce que je peux montrer le curseur de main seulement en roulant sur les articles de liste?

Répondre

6

Missread votre test complet, ci-dessous est juste comment montrer le curseur de la main sur un contrôle Flex.

Je suggère que vous faites une coutume itemRenderer et pour chaque utilisation de ces renderer contrôles, qui le fera uniquement lors vous êtes sur la itemRenderer et il ne sera pas applicable pour le contrôle de toute la liste ...


Jetez un coup d'œil sur ce billet de blog que j'ai écrit à propos de l'affichage des curseurs de la main sur n'importe quel contrôle Flex.

Showing hand cursor on any Flex Control

Parfois useHandCursor=true buttonMode=true est suffisant, mais pour certains contrôles vous devez utiliser mouseChildren=false

Exemples:

<mx:Button label="Button" useHandCursor="true" buttonMode="true" /> 

<mx:Label text="Label" useHandCursor="true" buttonMode="true" mouseChildren="false"/> 
+0

ajoutant personnalisée Les moteurs de rendu semblent être la voie à suivre. – Yeti

1

J'ai eu le même problème avec l'obtention d'un curseur main sur une grille de données. Je suppose que la solution sera la même pour les listes.

La façon dont j'ai trouvé pour obtenir un curseur à la main, tout en ayant l'interactivité avec les articles dans mon DataGrid était d'utiliser les événements itemRollOver et itemRollOut de DataGrid (liste les a aussi):

[Embed("../assets/images/cursors/hand_cursor.png")] 
private var handCursor:Class; 

protected function grid_itemRollOver():void { 
    cursorManager.setCursor(handCursor); 
} 

protected function grid_itemRollOut():void { 
    cursorManager.removeAllCursors(); 
} 
0
function meOver(evt:Event):void{ 
    evt.target.useHandCursor = true; 
} 

myList.addEventListener(MouseEvent.MOUSE_OVER, meOver); 
Questions connexes