2009-08-26 11 views
3

터치 스크린 플렉스 앱용 가상 키보드를 만들고 KeyboardEvent를 전달하여 키 누르기를 시뮬레이션하려고합니다. 나는 이벤트를 듣고 그에 따라 행동하는 핸들러 함수를 작성했다. 지금까지는 그렇게 좋았지 만 집중된 textInputs (쉬운), 그 필드의 커서 위치 (너무 쉽지는 않음) 등을 관리해야하기 때문에 복잡해지기 시작했습니다. 이제는 실제로 Flex가 실제 키 프레스로 해석 할 KeyboardEvent를 전달하면 모든 문제는 사라질 것입니다 ... 가능합니까?플렉스 : 키 누름 시뮬레이션

+0

에 대한 유사한 게시물을 작성했습니다. 따라서 사용자는 키보드의 버튼 중 하나를 터치 (즉, 클릭) 할 것입니다. 이렇게하면 클릭 이벤트가 생성되어 KeyboardEvent가 생성되고,이 이벤트는 텍스트 상자에 해당 문자를 추가하고 커서의 위치를 ​​변경하도록 지시합니다. 이 올바른지? 그리고 문제가있는 곳은 텍스트 상자가 업데이트되지 않는 KeyboardEvent를 생성 할 때입니다. – Dan

+0

예, 맞습니다. 그 일을 할 수 있지만 KeyboardEvent 처리기를 사용하여 ... 대신 그냥 (TextInput 집중된) 이벤트를 발송하는 경우 아무 일도 발생하지 않습니다. –

+0

KeyboardEvent를 전달하는 구성 요소는 무엇입니까? 내가 제대로 작동하도록하려면 포커스가있는 텍스트 구성 요소에 이벤트를 전달해야합니다. 즉, myFocusedTextComponent.dispatchEvent (myNewlyCreatedKeyboardEvent) – Dan

답변

4

TextInput은 텍스트 입력에 KeyboardEvent/TextEvent를 사용하지 않고 Flash Player/Keyboard와 상호 작용하는 내부 Flash TextField 객체를 사용합니다.

KeyboardEvent는 발생한 키보드 이벤트를 알리는 데 사용됩니다.

키보드를 시뮬레이트하려면 KeyboardEvent를 수신하면 TextInput의 텍스트 속성과 그에 따라 커서 위치를 수정하는 클래스를 만들어야합니다.

알렉스 Harui는 내가 완전히 여기 제어 흐름을 이해 모르겠어요이 FlexCoders Post