// MfcActiveX.idl : ActiveX 控制項項目的類型庫源。// 此檔案將由 MIDL 編譯器工具處理以// 產生類型庫(MfcActiveX.tlb),該類型庫將成為// MfcActiveX.ocx.#include <olectl.h>#include <idispids.h>[ uuid(D3AAF2EE-E0B4-4526-910E-A246AF6E467E), version(1.0), helpfile("MfcActiveX.hlp"), helpstring("MfcActiveX ActiveX 控制項模組"), control ]library MfcActiveXLib{ importlib(STDOLE_TLB); // CMfcActiveXCtrl 的主調度介面 [ uuid(0C4794B9-7FC3-404B-9288-2618E8955759), helpstring("MfcActiveX Control 的調度介面")] dispinterface _DMfcActiveX { properties: methods: [id(DISPID_ABOUTBOX)] void AboutBox(); }; // CMfcActiveXCtrl 的事件調度介面 [ uuid(329F4813-372E-47F7-AF2A-538D758E5118), helpstring("MfcActiveX Control 的事件介面") ] dispinterface _DMfcActiveXEvents { properties: methods: }; // CMfcActiveXCtrl 的類資訊 [ uuid(E1437657-EDB0-4B8C-9BE5-B44C5F05C6C7), helpstring("MfcActiveX Control"), control ] coclass MfcActiveX { [default] dispinterface _DMfcActiveX; [default, source] dispinterface _DMfcActiveXEvents; }; //上面是類嚮導產生的 //下面為手動添加的可見枚舉類型 typedef [ helpstring("MfcActiveX _WeekDay Enum"), v1_enum ] enum _WeekDay { Sunday=0, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday }_WeekDay;};
//VS2008使用控制項時 類嚮導產生的程式碼標頭檔
#pragma once// 電腦產生了由 Microsoft Visual C++ 建立的 IDispatch 封裝類// 注意: 不要修改此檔案的內容。如果此類由// Microsoft Visual C++ 重建,您的修改將被覆蓋。/////////////////////////////////////////////////////////////////////////////// CMfcactivexctrl 封裝類class CMfcactivexctrl : public CWnd{protected: DECLARE_DYNCREATE(CMfcactivexctrl)public: CLSID const& GetClsid() { static CLSID const clsid = { 0xE1437657, 0xEDB0, 0x4B8C, { 0x9B, 0xE5, 0xB4, 0x4C, 0x5F, 0x5, 0xC6, 0xC7 } }; return clsid; } virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL) { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); } BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CFile* pPersist = NULL, BOOL bStorage = FALSE, BSTR bstrLicKey = NULL) { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID, pPersist, bStorage, bstrLicKey); }// 屬性public:enum{ Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, Friday = 5, Saturday = 6}_WeekDay;// 操作public:// _DMfcActiveX// Functions// void AboutBox() { InvokeHelper(DISPID_ABOUTBOX, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); }// Properties//};