2011-08-12 42 views
7

Tôi đang cố gắng đặt con trỏ tay trên HBox. Tôi đã thử buttonMode và useHandCursor nhưng không có may mắn. Ví dụ này hiển thị con trỏ bận. Bất cứ ai có thể cho tôi biết làm thế nào để làm cho nó hiển thị con trỏ tay của FlashPlayer?Flex: Cách đặt con trỏ tay?

<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> 

Trả lời

6

code này cho thấy nó một cách hoàn hảo trong khi chuột đã qua container:

<?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> 
+0

^Không làm việc cho tôi. Tôi nhận được con trỏ mũi tên - Squiff – Squiff

+0

Phiên bản Flex SDK, phiên bản Flash Player, hệ điều hành và trình duyệt nào bạn sử dụng? – Constantiner

+0

Trình tạo Flash 4, MAC 10,3,181,14, OSX 10.6.7, Firefox 5.0.1 – Squiff

0

Có một ví dụ về nửa chừng cuộc thảo luận này diễn đàn mà bạn có thể tìm thấy hữu ích:

Custom CursorManager Xem bài # 7

+0

Thật không may, liên kết bị giảm xuống –

+1

@ 1.21gigawatts, một liên kết chỉ trả lời. Tôi không có thời gian để xem xét các câu hỏi và nội dung (và tôi đã không làm việc trong flex trong một thời gian), nhưng đây là một bản sao lưu trữ của diễn đàn nếu bạn vẫn cần nó! https://web.archive.org/web/20090110041612/http://www.actionscript.org/forums/showthread.php3?t=125314 –

2

Nếu bạn muốn đặt con trỏ tay trong Nhãn, bạn phải đặt mouseChildren = ”false” và bên dưới là mã được sửa đổi

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

Hy vọng điều này phù hợp với bạn.

0

Bạn cũng có thể sử dụng lớp Chuột mới hơn cung cấp con trỏ gốc có tỷ lệ khung hình cao hơn.

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

Màu nền và alpha nền được sử dụng để vẽ đồ họa được sử dụng làm vùng nhấn. Trong các thùng chứa Spark rỗng có một tài sản mouseEnabledWhereTransparent mà tôi không nghĩ rằng tồn tại trong các thùng chứa mx. Đây là tài liệu về nó:

Khi sự thật, khách sạn này đảm bảo rằng toàn bộ viền của Tập đoàn trả lời sự kiện chuột như nhấp chuột và cuộn qua. Thuộc tính này chỉ có hiệu lực nếu các sự kiện cử chỉ của chuột, cảm ứng hoặc flash player được thêm vào trường hợp này. Ngoài ra, nó giả định rằng các cuộc gọi đến addEventListener()/removeEventListener() không thừa.

Có nói rằng có vẻ như này hoạt động mà không cần thiết lập các mouseEnabledWhereTransparent tài sản:

<s:Group id="testingHitGroup" left="10" top="10" 
     rollOver="cursorObject_rollOver(event)" width="100" height="100"/> 
Các vấn đề liên quan