zoukankan      html  css  js  c++  java
  • atl常量暴露的最简便方法

    [摘自ActivX Faqs]
    说明:
    只需在idl文件的类库声明中,定义枚举常量,就可以将atl常量暴露给客户程序。

    例子:
    import "oaidl.idl";
    import "ocidl.idl";
    #include "olectl.h"
     

     [
      object,
      uuid(D6719E8B-B2F3-49A6-B985-E30ED36E472B),
      dual,
      helpstring("Iqqq Interface"),
      pointer_default(unique)
     ]
     interface Iqqq : IDispatch
     {
     };

    [
     uuid(A78593FE-FAF1-4491-BBC1-128D12021769),
     version(1.0),
     helpstring("test6 1.0 Type Library")
    ]
    library TEST6Lib
    {
     importlib("stdole32.tlb");
     importlib("stdole2.tlb");

       typedef enum NoteItControlStatus
      {
         STATUS_SUCCESS = 1,
         STATUS_INFORMATIONAL = 2,
         STATUS_WARNING = 4,
         STATUS_FAILURE = 8
      } NOTEIT_CONTROL_STATUS;

     [
      uuid(152EF1F9-E2B6-4AF6-978C-4253B38227EC),
      helpstring("qqq Class")

      

     ]
     coclass qqq
     {
      [default] interface Iqqq;
     };
    };

    原文:
    How can I expose constants from my controls?
     
     

    --------------------------------------------------------------------------------
     
    You can use the standard IDL enum keyword. The trick is to make sure the declaration is inside the library section. Here's an example:

    typedef enum NoteItControlStatus
    {
       STATUS_SUCCESS = 1,
       STATUS_INFORMATIONAL = 2,
       STATUS_WARNING = 4,
       STATUS_FAILURE = 8
    } NOTEIT_CONTROL_STATUS;
     

  • 相关阅读:
    刨析js代码执行机制
    H5离线缓存基础系列
    meta 详解
    如何成长为一名合格的web架构师?
    整理的互联网公司面试趋势
    http协议
    前端现在到底需要什么样的人才
    webpack 4.0 版本的简单使用
    vue的懒加载如何实现?
    Runtime的几个小例子(含Demo)
  • 原文地址:https://www.cnblogs.com/youyou/p/271257.html
Copyright © 2011-2022 走看看