OCX怎样内导出enum?

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

谢谢了!
...全文
194 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
要求是在类外,在类里面的,我知道怎么处理。
  • 打赏
  • 举报
回复
宏是不可能了。

3,248

社区成员

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

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