ActiveXコントロール可視列挙タイプの追加
// 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;
};
//VS 2008コントロール使用時クラスウィザードで生成されたコードヘッダファイル
#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
//
};