2009-05-29 41 views
6

Tôi đang cố gắng thêm một số trợ năng cho trình đọc màn hình vào ứng dụng Flash và đang chạy lên chống lại điểm dính. Thứ tự tabbing qua các phần tử được thiết lập bởi thuộc tính tabIndex của các phần tử đó. Khó khăn là, danh sách tab được xây dựng từ những thứ này có vẻ là vĩnh viễn, nhưng nội dung của ứng dụng là động (được xây dựng từ xml, chứa các cửa sổ bật lên và hộp thoại). Có cách nào để làm mới/xây dựng lại danh sách tab không? Tôi sẵn sàng để đi đến độ dài cực đoan, và thử một số hack điên để thực hiện công việc này, vì vậy bất kỳ lời đề nghị là tốt.Thay đổi thứ tự tab Flash

Trả lời

4

bạn thiết lập chỉnh sửa các yếu tố tabIndex đánh giá cao bất cứ lúc nào bạn muốn

như thiết lập chúng để được như vậy để childIndex

for (var i:int=0;i<container.numChildren;++i) { 
    container.getChildAt(i).tabIndex = i; //=i or anything you want 
} 

Các công trình sau đây đối với tôi

iButton1.tabIndex = 1; 
iButton2.tabIndex = 2; 
iButton3.tabIndex = 3; 

iButton1.tabEnabled = true; 
iButton2.tabEnabled = true; 
iButton3.tabEnabled = true; 

function fnClick (pME:MouseEvent):void { 
    iButton1.tabIndex = 3; 
    iButton2.tabIndex = 2; 
    iButton3.tabIndex = 1; 
} 

iButton3.addEventListener(MouseEvent.CLICK, fnClick); 

bạn có thể tải xuống mẫu fla tại đây http://matrixoft.infunity.com/agents/calvin/flash/tab.rar

nhấp vào nút thứ ba và nó sẽ thay đổi thứ tự tab. Bạn có thể cần phải "Control-> Disable shortcuts shortcuts" khi bạn ctrl-enter để kiểm tra fla

+0

sửa câu trả lời để cung cấp một mẫu – Unreality

+2

mẫu của bạn khiến tôi nhận ra rằng tôi đã không thực sự thay đổi TextArea tabIndex, nhưng TextField bên trong vùng văn bản. Tôi cảm thấy câm, nhưng bạn đã làm tốt, nhờ^_^ – Zoe

+0

tất cả chúng ta phải đối mặt với lỗi câm tương tự khi mã hóa flash :) hiếm khi không có lỗi trong một lần – Unreality

2

Tôi đang biên dịch bằng Flash Player 11.4 Toggling thuộc tính tabEnabled của TextField là tốt, nhưng tôi thấy rằng nó không hoạt động cho SimpleButtons (chúng không được kích hoạt lại khi thiết lập tabEnabled trở lại thành true). Cho rằng tôi đang sử dụng này:

private function setPanelOneTabIndices() 
{ 
    aButton1.tabIndex = 1; 
    aButton2.tabIndex = 2; 
    aButton3.tabIndex = 3; 

    bButton1.tabIndex = 0; 
    bButton2.tabIndex = 0; 
    bButton3.tabIndex = 0; 
} 

private function setPanelTwoTabIndices() 
{ 
    aButton1.tabIndex = 0; 
    aButton2.tabIndex = 0; 
    aButton3.tabIndex = 0; 

    bButton1.tabIndex = 1; 
    bButton2.tabIndex = 2; 
    bButton3.tabIndex = 3; 
} 
Các vấn đề liên quan