Life of wolfboy

Nexacro 이벤트 처리 본문

Development/Nexacro

Nexacro 이벤트 처리

늑대소년 2021. 12. 1. 09:11

일반적으로 콤보상자나 리스트상자 등의 component를 사용할 때 클릭을 한다던지 아이템의 값이 바뀌는 등의 액션이 일어나게 되면 이벤트가 발생한다.

넥사크로도 마찬가지로 component의 경우 property/Method/Event로 구성이 되어 있다.
예를 들어 리스트 상자의 item을 클릭했을 경우 발생하는 onitemclick 이벤트가 있는데, 클릭을 했을 경우 자동적으로 이벤트가 발생하고 발생한 이벤트를 받아 처리하는 함수를 만들어 사용할 수 있다.
하지만 클릭을 하지 않고 함수 안에서 코드로 해당 이벤트 처리함수를 호출해야 하는 경우가 발생할 수 있는데, 이 경우 실제 클릭했을 때처럼 이벤트를 생성해서 파라미터로 넘기는 형태로 사용할 수 있다.

예제는 아래와 같다.

// 이벤트처리
var e = new nexacro.ListBoxClickEventInfo; // 리스트상자의 클릭이벤트를 생성을 한다.
e.index = 2; // 리스트상자 클릭이벤트의 index 속성에 값을 부여한다.
e.itemtext = "소나타"; // 이벤트의 itemtext 속성에 값을 부여한다.
this.List_carlist_onitemclick(this.Shape1.Lit_carlist, e); 해당 리스트 상자의 onitemclick 함수에 object와 이벤트를 넘긴다.



// onitemclick이벤트
this.List_carlist_onitemclick = function(obj:ListBox, e:nexacro.ListBoxClickEventInfo)
{
     obj.set_index(e.index); // index 속성을 가져와서 처리한다.
     this.cbo_Car.set_value(e.itemtext); // itemtext 속성을 가져와서 처리한다.

 

     trace("e.index:"+e.index);

     trace("e.itemtext:"+e.itemtext);
}

 

console 출력 결과 :

e.index:2

e.itemtext:소나타


위 예제처럼 Component의 모든 이벤트를 생성하여 처리하는 것이 가능하다.