这两天碰到个VC+MapX做飞机航迹回放与显示的单子,虽然没有接下来,今天下午还是学习了一下MapX的配置。在这留下一个记号,以备日后再用。
MapX在CDSN上完整的安装包链接:http://download.csdn.net/detail/foxriver_gjg1989/6996635#comment
安装时将SETUP.EXE改为XP兼容且系统管理员权限运行方式,然后运行/bin目录下的DEMO32.EXE(同样用管理员身份运行),安装完毕后,将/Maps下的文件全部复制到安装目录的同名目录下。
将破解文件和.lic文件复制到安装目录下,运行MapInfo+.exe程序,破解完成。
在安装目录下,管理员身份运行CMD程序,注册以下几个控件:
- MAPX50.DLL
- MapXADODS.DLL
- MapXDAODS.DLL
- MapXRDODS.DLL
- mapxstate.DLL
- MODBCDataset.DLL
- MOCIDataset50.DLL
- mxmldataset.DLL
- MSafeArrayDataset.DLL
- NCSECW.DLL
接下来在VC的工程中,添加安装目录的 Samples50/Cpp目录下的MAPX.CPP和MAPX.H两个文件即可。
在工程中动态创建MAPX控件几个点:
一、在使用MAPX的类定义中添加 DECLARE_EVENTSINK_MAP() 宏,
二、在使用MAPX的类实现文件中添加
BEGIN_EVENTSINK_MAP(类名, CView)
END_EVENTSINK_MAP()
三、动态创建控件时使用破解号:
CString str = _T("uQnZi2sFw22L0-MRa8pYX-2E6P1077-3N6M0499-5C038223-10884-12802-36882-8029");
BSTR bstrLic = str.AllocSysString();
CRect mapRect;
GetClientRect(&mapRect);
if (!m_mapX.Create(NULL, WS_VISIBLE, mapRect, this, IDS_MAPX1, NULL, FALSE, bstrLic))
return -1;
m_mapX.SetGeoSet(NULL);