• 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;
     

  • 相关阅读:
    Python [Leetcode 350]Intersection of Two Arrays II
    jade学习
    pageX、clientX、screenX、offsetX、layerX、x
    AngularJS--转载
    AngularJS
    超级强大的SVG动画详解
    javascript event对象的clientX,offsetX,screenX,pageX区别
    console的调试方法
    javascript--函数参数与闭包--详解
    如何把你的图标转换成web字体
  • 原文地址:https://www.cnblogs.com/youyou/p/271257.html
Copyright © 2020-2023  润新知