OCX怎样内导出enum?

LPR_Pro 2009-11-25 05:04:26
OCX内怎样导出enum,或宏?

谢谢了!
...全文
240 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vcTiro 2009-11-26
  • 打赏
  • 举报
回复
把你的enum在IDL文件中定义就可以了。
LPR_Pro 2009-11-26
  • 打赏
  • 举报
回复
5楼的能不能详细讲解一下,谢谢!
l301l 2009-11-26
  • 打赏
  • 举报
回复
那个是连接点的函数id
LPR_Pro 2009-11-26
  • 打赏
  • 举报
回复
是想在类外导出enum,在类内上述的方法是可以实现,
我试了,在内外的话不能导出,
就像4楼的格式。
wshcdr 2009-11-26
  • 打赏
  • 举报
回复
idl中也支持 enum的
所以只要在idl写enum
自然会导出
togoblime 2009-11-25
  • 打赏
  • 举报
回复
直接在IDL文件中定义enum,然后在需要用的地方#import "*.ocx"(还有一些参数),enum结构定义就会出现在生成的.tlh文件中
LPR_Pro 2009-11-25
  • 打赏
  • 举报
回复

MapInfos这种是怎么实现的呢?


#ifndef __MAPX_H__
#define __MAPX_H__

#ifdef UNDER_CE
#define HELP_FINDER 0x000b
#endif

#pragma warning( disable: 4100)

// event dispids
#define MAPX_DISPID_SELECTION_CHANGED 0x1
#define MAPX_DISPID_RESOLVEDATABIND 0x2
#define MAPX_DISPID_TOOLUSED 0x3
#define MAPX_DISPID_REQUESTDATA 0x4
#define MAPX_DISPID_DATAMISMATCH 0x5
#define MAPX_DISPID_MAPVIEWCHANGED 0x6
#define MAPX_DISPID_ANNOTATIONADDED 0x7
#define MAPX_DISPID_ANNOTATIONCHANGED 0x8
#define MAPX_DISPID_THEMEMODIFYREQUESTED 0x9
#define MAPX_DISPID_DRAWUSERLAYER 0x0a
#define MAPX_DISPID_POLYTOOLUSED 0x0b
#define MAPX_DISPID_MOUSEWHEEL 0x0c
#define MAPX_DISPID_MAPINITIALIZED 0x0d
#define MAPX_DISPID_RESOLVEDATABINDEX 0xe
#define MAPX_DISPID_MAPDRAW 0xf

// dispatch id definitions for ole stock events are
// defined in <olectl.h>
// they are included here for reference
//#define DISPID_CLICK (-600)
//#define DISPID_DBLCLICK (-601)
//#define DISPID_KEYDOWN (-602)
//#define DISPID_KEYPRESS (-603)
//#define DISPID_KEYUP (-604)
//#define DISPID_MOUSEDOWN (-605)
//#define DISPID_MOUSEMOVE (-606)
//#define DISPID_MOUSEUP (-607)
//#define DISPID_ERROREVENT (-608)



// enum definitions to match typelib

enum ToolConstants
{
miArrowTool = 1000,
miPanTool = 1001,
miCenterTool = 1002,
miZoomInTool = 1003,
miZoomOutTool = 1004,
miSymbolTool = 1005,
miTextTool = 1006,
miSelectTool = 1007,
miRadiusSelectTool = 1008,
miRectSelectTool = 1009,
miPolygonSelectTool = 1010,
miLabelTool = 1011,
miAddLineTool = 1012,
miAddPolylineTool = 1013,
miAddRegionTool = 1014,
miAddPointTool = 1015
};
雪影 2009-11-25
  • 打赏
  • 举报
回复
枚举可以直接在IDL中定义,可以导出
IDL中不能定义宏,不能导出
LPR_Pro 2009-11-25
  • 打赏
  • 举报
回复
要求是在类外,在类里面的,我知道怎么处理。
  • 打赏
  • 举报
回复
宏是不可能了。
源码下载地址: https://pan.quark.cn/s/a4b39357ea24 【运算单元构造实验报告】运算单元是计算机硬件系统中的关键构成部分,主要承担执行算术运算和逻辑运算的任务。在本次实验中,我们着重探讨了带有累加器的运算单元的设计,涵盖了溢出识别、有符号数值与无符号数值运算的差异性,以及采用补码方式进行的加法与减法运算的实现机制。 一、实验目标 1. 掌握运算单元的基本构造,理解带有累加器的运算单元的具体实现途径。 2. 学习并领会溢出检测的机制,能够设计并构建溢出检测电路,用以判定运算结果是否超出了数据类型的表示范畴。 3. 明辨有符号数值和无符号数值运算的不同特性,把握它们在运算过程中各自的处理方法。 4. 熟练掌握基于补码方式的加法与减法运算的执行,理解补码形式下的溢出判定准则。 5. 熟悉运算单元内部的数据传输路线,明晰数据在运算过程中的流转路径。 6. 设计一个能够支持有符号数值与无符号数值运算、补码加法/减法运算以及有符号数值溢出检测的运算单元电路。 二、实验仪器 采用JZYL—Ⅱ型计算机组成原理实验装置,配备2片74181运算单元芯片作为算术逻辑单元(ALU),2片74LS373用作八位D型锁存器,并辅以一些基础门电路和多路选择器来完成电路设计。 三、实验内容 1. 运用片74181构建一个8位运算单元,负责处理数据的高4位与低4位。 2. 设计并实现溢出检测电路,确保在有符号数值与无符号数值的加法运算中均能准确识别溢出状况。 3. 通过74LS373增加累加器功能,使运算结果得以保存。 4. 将所有设计整合,利用多路选择器来支持有符号数值与无符号数值的加法/减法运算。 四、实验电路 1. 8位运算单元由2片74181构成,通过控制...

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧