ActiveX로 Component를 만들어 보자.

1. New Project -> C++ MFC에서 "MFC ActiveX Control"을 선택한다.

ActiveX 형태가 만들어 지면. 하기와 같이 4군데를 추가한다.

 

====================

Tester.idl

====================

[ uuid(97DDE6EE-3B47-434E-BCC1-01283A6BAFAA),

helpstring("Tester Control의 디스패치 인터페이스")]

dispinterface _DTester

{

properties:

[id(DISPID_CAPTION), helpstring("속성 Caption")] BSTR Caption;

methods:

[id(DISPID_ABOUTBOX)] void AboutBox();

[id(1), helpstring("메서드 함수명1")] BOOL 함수명1(void);

[id(2), helpstring("메서드 함수명2")] BSTR 함수명2(void);

[id(3), helpstring("메서드 함수명3")] int 함수명3(void);

[id(4), helpstring("메서드 함수명4")] void 함수명4(void);

...

};

====================

TesterCtrl.cpp

====================

// 디스패치 맵입니다.

BEGIN_DISPATCH_MAP(CTesterCtrl, COleControl)

DISP_FUNCTION_ID(CTesterCtrl, "AboutBox", DISPID_ABOUTBOX, AboutBox, VT_EMPTY, VTS_NONE)

DISP_FUNCTION_ID(CTesterCtrl, "함수명1", dispid함수명1, 함수명1, VT_BOOL, VTS_NONE)

DISP_FUNCTION_ID(CTesterCtrl, "함수명2", dispid함수명2, 함수명2, VT_BSTR, VTS_NONE)

...

END_DISPATCH_MAP()

bool 함수명1(void)

{

}

Void 함수명2(void)

{

}

====================

TesterCtrl.h

====================

// 디스패치와 이벤트 ID입니다

enum{

dispid함수명1 = 1L;

dispid함수명2 = 2L;

,,,

};

Bool 함수명1 (void);

Void 함수명2 (void);

 

'프로그래밍 > VC++ 개발 코딩' 카테고리의 다른 글

Enum과 bit연산  (0) 2014.01.17
[링크스크랩] [C++] stl vector 사용법  (0) 2014.01.17
실제 윈도우 메시지 보내기  (0) 2014.01.17
클래스 초기화 하기  (0) 2014.01.17
매개변수 포인터 전달받기  (0) 2014.01.17

+ Recent posts