程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> ocx手動添加事件

ocx手動添加事件

編輯:C++入門知識

假設創建的ocx工程名稱為AgentRest,要添加的事件為OnPreviewCallRequest。 1.AgentRest.idl文件中添加 [id(1)] OnPreviewCallRequest(long lCtrlID, BSTR lpCalls); [cpp]  [ 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 [cpp]   // Dispatch and event IDs   public:       enum {     dispidSendEmailAttach = 193L,     dispidReplyOnlineMessageByEmail = 192L,     dispidReplyEmail = 1L,      //事件           eventidOnPreviewCallRequest= 1L,       };            public:             //事件開始       void OnPreviewCallRequest(long lCtrlID, LPCTSTR lpCalls);   [cpp]   // 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);   }        

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved