// 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
//
};