문제

프로그래밍에 익숙하지는 않지만 Flex를 처음 사용합니다. 초점을 맞을 때 모든 TextInput 상자에서 호출되는 일반 이벤트 핸들러를 작성하고 싶습니다. 그들이 집중할 때, 나는 Textinput Box의 색상을 변경하고 싶습니다. 그들이 집중력을 잃으면 "비활성"색상 프로파일을 복원하고 싶습니다. 각 TextInput 상자에 대해 ActionScript 이벤트 핸들러를 쓸 수는 있지만 우리는 그것이 절름발이라는 것을 알고 있습니다. : o) 내가 필요한 것은 이벤트 핸들러를 호출하는 객체에 액세스하는 방법입니다.

델파이에서는 발신자 객체에 전달되는 함수를 작성하여 호출 객체의 속성에 액세스 할 수 있습니다. ActionScript/Flex가 완전히 다른 아키텍처를 가지고 있다고 생각합니다. 그래서 저는 이것을하기가 어려워요.

기대에 감사드립니다!

도움이 되었습니까?

해결책

서브 클래스 텍스트를 클래스하고 거기에 포커스 이벤트를 처리해야합니다. 나는 이것이 복잡한 코드없이 찾고있는 것을 달성하는 가장 간단한 방법이라고 생각합니다.

다른 팁

나는 당신이 무엇을 요구하는지 이해하기를 바랍니다 ... 당신은 이벤트 대표에 대해 이야기하고 있습니까?

이것은 나를 위해 효과가있었습니다.

// 'focusOut' for blur
stage.addEventListener('focusIn', function(e:Event):void {
    // The focused control is e.target
});

집중된 입력 상자의 모양을 변경하려면 설정 하여이 작업을 수행 할 수 있습니다. focusSkin 재산. 전 세계적으로 이런 일이 일어나기를 원한다면 CSS 파일에 스타일 선언을 할 수 있습니다.

이 CSS 예제에서는 기본 초점 스킨을 교체하고 있습니다 (mx.skins.halo.HaloFocusRect) 임베디드 PNG 파일.

TextInput {
  focusSkin: Embed(source="focus.png");
}

TextInput은 초점 피부의 불투명도를 바꾸는 것과 같은 초점의 모양을 변경하기위한 몇 가지 속성을 가지고 있습니다.focusAlpha 재산). 을 체크하다 TextInput 문서 더 많은 정보를 위해서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top