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 |