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

};