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;

};


 

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

};


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值