간단하게 추가하는 방법은 컨트롤 클래스에서 우클릭후, 이벤트 추가 클릭하면 된다.
내가 말하고자 하는 내용은 이를 코딩으로 추가하는 것이다.
1. XXX.idl 파일에서
// CApp200Ctrl의 이벤트 디스패치 인터페이스입니다.
[ uuid(어쩌구 저쩌구 여기는 sID값이 있는곳입니다.),
helpstring("App200 Control의 이벤트 인터페이스") ]
dispinterface _DAPP200Events
{
properties:
// 이벤트 인터페이스에 속성이 없습니다.
methods:
[id(1)] void FireRun(void); //변수가 없는 이벤트 추가
[id(2)] void FireGetID(BSTR _sessionID); //변수가 있는 이벤트 추가
};
2. XXXCtrl.h 파일에서
class XXX : COleControl
{
..............
............
............
............
// 디스패치와 이벤트 ID입니다.
public:
enum {eventFireGetID = 2L, eventFireRun = 1L};
protected:
void FireGuidePopupDlg(void)
{
FireEvent(eventidFireGuidePopupDlg, EVENT_PARAM(VTS_NONE));
}
void FireGetSessionID(LPCTSTR _sessionID)
{
FireEvent(eventFireRun, EVENT_PARAM(VTS_NONE), _sessionID);
}
3. XXXCtrl.cpp 파일에서
BEGIN_EVENT_MAP(CXXXCtrl, COleControl)
//변수가 없는 이벤트 추가(이벤트 이름을 FireRun이라 할때)
EVENT_CUSTOM_ID("FireRun",
eventFireRun,
FireRun,
VTS_NONE)
//변수가 있는 이벤트 추가(이벤트 이름을 FireGetID라 할때)
EVENT_CUSTOM_ID("FireGetID",
eventFireGetID,
FireGetID,
VTS_BSTR)
이러면 끝~
'Programming > ActiveX' 카테고리의 다른 글
[ActiveX] INF 파일 팁 (0) | 2007.08.01 |
---|---|
[ActiveX] Java Script 함수 호출하기 (0) | 2007.08.01 |
[ActiveX] (0) | 2007.08.01 |
[ActiveX] 쉬프트+탭 입력 하기 (0) | 2007.08.01 |
[ActiveX] 버튼클릭 할 때 모달리스 중복 생성되지 않게.. (0) | 2007.08.01 |