OCX怎样内导出enum? OCX内怎样导出enum,或宏?谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 枚举可以直接在IDL中定义,可以导出IDL中不能定义宏,不能导出 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 typelibenum 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}; 直接在IDL文件中定义enum,然后在需要用的地方#import "*.ocx"(还有一些参数),enum结构定义就会出现在生成的.tlh文件中 把你的enum在IDL文件中定义就可以了。 idl中也支持 enum的所以只要在idl写enum自然会导出 是想在类外导出enum,在类内上述的方法是可以实现,我试了,在内外的话不能导出,就像4楼的格式。 怎样string类转换为数组? ctooltipctrl 疑难 我想调起来系统默认的电子邮件软件,到收邮件界面 Data Time Picker 如何同时显示日期和时间? 如何用VC编一个定时关机程序 模板的问题 求好心人赐图片,一直找不到。 求救高手,c++ COM组件向VB传参问题。 为什么readfile异步会提示参数错误? 今年广州在哪里报考高程? VC中用ShellExecute()打开一个应用程序,并向打开的窗口传递字符串问题 _beginthread创建线程,线程异常
IDL中不能定义宏,不能导出
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 typelibenum 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
};
所以只要在idl写enum
自然会导出
我试了,在内外的话不能导出,
就像4楼的格式。