ocx手动添加事件

假设创建的ocx工程名称为AgentRest,要添加的事件为OnPreviewCallRequest。

1.AgentRest.idl文件中添加 [id(1)] OnPreviewCallRequest(long lCtrlID, BSTR lpCalls);

	[ uuid(7BC09251-081A-4AAE-A757-18D603CE4800),
	  helpstring("Event interface for AgentRest Control") ]
	dispinterface _DAgentRestEvents
	{
		properties:
			//  Event interface has no properties

		methods:
        [id(1)] OnPreviewCallRequest(long lCtrlID, BSTR lpCalls);
        }

2.AgentRestCtrl.h和AgentRestCtrl.cpp

// Dispatch and event IDs
public:
    enum {
  dispidSendEmailAttach = 193L,
  dispidReplyOnlineMessageByEmail = 192L,
  dispidReplyEmail = 1L,

//事件
        eventidOnPreviewCallRequest= 1L,

 };



public:
   
    //事件开始

 void OnPreviewCallRequest(long lCtrlID, LPCTSTR lpCalls);

// Event map

BEGIN_EVENT_MAP(CAgentRestCtrl, COleControl)
    
    EVENT_CUSTOM_ID("OnPreviewCallRequest", eventidOnPreviewCallRequest, OnPreviewCallRequest, VTS_I4 VTS_BSTR)

END_EVENT_MAP()



void CAgentRestCtrl::OnPreviewCallRequest(long lCtrlID, LPCTSTR lpCalls)
{
    m_pDispatch->WriteLog(ERROR_EVENT, LOGINFO_EVENT_ONPREVIEWCALLREQUEST, lCtrlID, lpCalls);

    FireEvent(eventidOnPreviewCallRequest, EVENT_PARAM(VTS_I4 VTS_BSTR), lCtrlID, lpCalls);
}



 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值