소프트웨어/JavaScript • Dhtml

Active x 컨트롤의 메소드 확인

falconer 2009. 11. 3. 14:38

웹 작업을 하다보면 부득이하게 active x 컨트롤을 사용하게 되죠.

 

보통은 CHM 형태의 도움말이나 문서 자료를 보고 작업을 하지만 관리 미숙으로 인해 유실되어서 없거나  혹은 다른 용도로 설치된거지만 제공하는 기능을 활용하고 싶은 경우가 있습니다.

 

그러기 위해서는 알아야할것이 해당 컨트롤이 지원하는 이벤트와 파라메터 정보입니다.  인터페이스 정보인셈인데 이를 모르고는 활용을 할 수가 없죠.  반대로 말하자면 인터페이스만 알고 있다면 제공되는 기능들을 맘대로 사용할 수 있다는 말이 됩니다.

 

자 그럼 이 정보들을 어떻게 알아올까요? 그때 활용하기 편한것이 바로 ole view 라는 툴입니다. 

 

Visual Studio 6.0 에서는 프로그램 메뉴에 등록이 되어 있었으며 닷넷으로 넘어 와서는 따로 링크를 제공하진 않지만 Visual Studio 가 설치된 경로의 bin 폴더에 존재하게 됩니다.

 

 

1. 자 백문이 불여일견.  실행부터 해봅시다.

 

아래가 실행을 한 모습인데 다른 부분들에 대해서는 별도로 공부를 해 보시고 지금 소개하는 ACTIVE X 컨트롤을 확인하기 위해서는 Controls 항목을 클릭하시면 됩니다.

 

 

 

 

2. Controls 항목을 클릭을 하니 어디서 많이 보던 듯한 이름들이 쏟아져 나오지 않나요?  바로 자신의 PC 에 설치된 컨트롤 목록입니다.

 

 

3. 인터페이스를 확인하고자 하는 Control 을 선택합니다.

 

본인은 태그프리사의 엑티브 디자이너 에디터를 선택했다.  작업을 하다보니 에디터가 로드 완료 되었을때 처리해주고 싶은 루틴이 있는데 이때 이벤트 명을 모르는 관계로 구조를 파악하기 위해 이런 접근을 한다.  메뉴얼 파일은 안 보이고 찾아서 설치하기도 귀찮더군요.

 

컨트롤을 선택했으면 오른쪽 마우스 버튼을 눌러 봅시다.

팝업 메뉴가 나옵니다.  제일 상단의 View Type Information 항목을 선택하세요.

 

 

 

 

 

4. ITypeLib Viewer ?

 

위의 과정을 거쳐 클릭을 하면 별도로 창이 하나 더 생기면서 ITypeLib Viewer 라는 화면이 나타 납니다.

이놈이 Control 의 인터페이스 정보를 까발려주는 놈이죠.

 

태그프리 에디터가 가지는 타입 정보를 항목별로 보여줍니다.  저의 경우 경우 알고 싶은것이 에디터가 발생시키는 이벤트 정보이므로 DTWEditorEvents 를 선택한다.  파라메터나 기타 정보를 원한다면 제일 처음 항목을 선택하면 됩니다.

 

 

 

 

 

5. ITypeLib Viewer 에서 제공하는 메소드 / 파라메터 목록을 조회해 봅시다.

 

 DTWEditorEvents 항목을 선택하자 Methods 라는 항목이 나옵니다.  다시 이걸 클릭하자 태그프리에서 제공하는 이벤트 목록이 나타난다. 원하는것은 에디터 로드 마침을 알리는 이벤트이므로 대충 통밥으로 -_-);;   OnLoadComplete 라는 놈을 찾아낸다.

 

 

실제 코딩에 적용을 하자 예상대로 에디터 로딩 완료 이벤트네요.

 

뭐 물론~ 해당 컨트롤의 개발자가 네이밍룰을 자기만의 독창적인 형태로만 썼다면... -_- 이렇게 본들 쉽게 활용하긴 힘들겠죠. 

하지만 보통은 눈으로봐도 식별 가능한 이름을 많이 쓰는터라 활용도가 아주 낮지는 않으실겁니다.

 
출처 : http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=13&MAEULNO=6&no=280&page=1