Как показать курсор в виде руки, когда мышь находится над компонентом списка? - PullRequest
1 голос
/ 24 мая 2010

Я знаю, что следующий будет показывать курсор в виде руки:

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

Когда я делаю вышеупомянутое для компонента List, отображается кнопка руки, и весь компонент теряет свою интерактивность (курсор в виде руки отображается даже на полосах прокрутки).

Так как я могу показать курсор руки только при наведении на элементы списка?

Ответы [ 3 ]

6 голосов
/ 24 мая 2010

Пропущен полный тест, ниже показано, как показать курсор в виде руки на любом элементе управления Flex.

Я бы посоветовал вам создать собственный itemRenderer, и для каждого средства визуализации вы будете использовать эти элементы управления, которые будут отображаться только при нахождении над itemRenderer и не будут применяться для всего элемента управления List ...


Ознакомьтесь с этой записью в блоге, в которой я рассказывал о курсорах на любом элементе управления Flex.

Отображение курсора руки на любом элементе управления Flex

Иногда достаточно useHandCursor=true buttonMode=true, но для некоторых элементов управления вы должны использовать mouseChildren=false

Примеры:

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

<mx:Label text="Label" useHandCursor="true" buttonMode="true" mouseChildren="false"/>
1 голос
/ 24 мая 2010

У меня была та же проблема с наведением курсора руки на сетку данных. Я предполагаю, что решение будет одинаковым для списков.

Я нашел способ получить курсор руки, в то же время имея интерактивность с элементами в моей сетке данных, - использовать события itemRollOver и itemRollOut объекта DataGrid (они есть и в List):

[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 голосов
/ 05 августа 2010
function meOver(evt:Event):void{
    evt.target.useHandCursor = true;
}

myList.addEventListener(MouseEvent.MOUSE_OVER, meOver);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...