2011-01-18 42 views
8

Tôi đã tạo một ứng dụng với AIR + Flex.Làm thế nào để giữ tập trung sau khi 'alt' được nhấn? (Ứng dụng Adobe AIR)

Một tính năng giống như:

  • Khi Alt quan trọng là xuống, những thay đổi con trỏ chuột đến B,
  • Khi Alt quan trọng là lên, con trỏ chuột phục hồi để A.

Nhưng vấn đề là mỗi lần phát hành Phím Alt, con trỏ chuột sẽ thay đổi về mặc định hệ thống (hình mũi tên) và có vẻ như trọng tâm nằm ở đâu đó bên ngoài vùng hiển thị.

Điều đó nhắc tôi rằng, khi Alt được nhấn trong cửa sổ thông thường, thanh menu sẽ được tập trung.

Làm cách nào để ngăn chặn hành vi mặc định này?

p.s. Tôi đã thử những cách sau đây và làm việc doesn `t:

  • 1) lắng nghe sự kiện KEY_DOWN/KEY_UP sân khấu, và thêm event.stopImmediatePropagation() trong xử lý sự kiện
  • 2) lắng nghe sự kiện KEY_DOWN/KEY_UP giai đoạn của, và thêm event.preventDefault() trong xử lý sự kiện
  • 3) lắng nghe sự kiện KEY_DOWN/KEY_UP sân khấu, và thêm this.setFocus() trong xử lý sự kiện. Và callLater(this.setFocus) cũng không hoạt động.
+3

Hi Vergil, tôi đã làm một số thử nghiệm bản thân mình và kết thúc cơ bản tại cùng một điểm bạn mô tả ở trên, xử lý sự kiện của tôi đang bị sa thải nhưng dừng việc tuyên truyền về sự kiện này hoặc cố gắng ngăn chặn hành vi mặc định tạo ra kết quả tương tự. Khi nhìn vào tài liệu, nó xuất hiện altKey chỉ được hỗ trợ trong Windows cho các sự kiện tôi đã kiểm tra, vì vậy đây có thể là vấn đề khi kiểm tra trên nền tảng, vì lý do đó tôi khuyên bạn nên sử dụng một số phím bổ trợ khác tổ hợp phím. – shaunhusain

+1

Tôi cũng chỉ vấp vào điều này trong tài liệu có thể dẫn đến câu trả lời nhưng chưa thấy bất kỳ trình đơn nào mô tả trình đơn được hiển thị khi nhấn phím alt: http://livedocs.adobe.com/flex/3/html /help.html?content=Menus_2.html – shaunhusain

+1

Điều này cũng có thể dẫn đến một câu trả lời cho vấn đề như được trình bày: http://www.adobe.com/devnet/air/flex/quickstart/articles/custom_chrome.html mặc dù điều này đang thảo luận về việc tạo các cửa sổ Chromeless, nó cũng có một số thông tin về cách chặn các hành vi mặc định trong NativeWindows. – shaunhusain

Trả lời

0

Khi thắng không thể. Nhưng U có thể viết kịch bản shell/bash để kích hoạt ứng dụng của bạn và chạy nó từ AIR. Xem lớp NativeProcess.

0

Nghe tắt sự kiện Và sau đó kích hoạt

Các vấn đề liên quan