CMApx 5 内置的紧缩表函数
来源:互联网 发布:搜狐网络大厦有食堂吗 编辑:程序博客网 时间:2024/04/19 05:59
前一段时间,由于需要对mapx 表 进行紧缩,所以查找办法,大都是通过临时图层过渡。但是网上的vc 代码似乎有一个bug ,会造成相关的图层文件无法重新创建。
于是通过网络搜索发现了另外一个方法:经过测试,代码无误。(非常感谢提供代码的朋友,不知是如何获得的代码?)
mapx5.0已经实现了紧缩表的功能,但用vc开发的时候,却找不到那个pack函数。因此,按照下面的方法做,就可实现该功能。
1、找到mapx.h 文件,将以下代码插入到CMapXLayer类申明的Operations之Public:下即可
BOOL SupportsPack(long PackType);
void Pack(long PackType);
2、将以下声明加入mapx.h头部的enum 声明处
enum LayerPackConstants
{
miPackGraphics = 1,
miRebuildGraphics = 2,
miPackIndex = 4,
miPackRebuildIndex = 8,
miPackData = 16,
miPackCompactDB = 32,
miPackAll = 21 //miPackGraphics & miPackIndex & miPackData;
};
3、将以下代码加入例子自带的MapX.cpp
BOOL CMapXLayer::SupportsPack(long PackType)
{
BOOL result;
static BYTE parms[] = VTS_I4;
InvokeHelper(0x35, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, PackType);
return result;
}
void CMapXLayer::Pack(long PackType)
{
static BYTE parms[] = VTS_I4;
InvokeHelper(0x36, DISPATCH_METHOD, VT_EMPTY, NULL, parms, PackType);
}
4、使用方式
CMapXLayer layer = m_ctrlMapX.GetLayers().Item(index);
layer.Pack(miPackAll);
- CMApx 5 内置的紧缩表函数
- 在MapX下紧缩表
- CMapX的SetGeoSet 建立空文档失败 问题
- JPEG图像的解紧缩操纵
- Cg Shading Language 的内置函数表
- awk的内置函数
- Freemarke的内置函数
- python的内置函数
- freemarker的内置函数
- JavaScript的内置函数
- python的内置函数
- python的内置函数
- HLSL的内置函数
- python的内置函数
- freemarker的内置函数
- Less的内置函数
- unity内置的函数
- hive的内置函数
- Qt configure 参数不完全说明 以及 精简系统 减少编译时间的一些方法
- MyEclipse 不编译了,无论怎么更改保存, classes目录下都是空的.
- 导入cvs项目中文注释为乱码
- 【小阅读^大脑袋】0208 NO.316
- Visual Studio 2010 安装 MSDN Library
- CMApx 5 内置的紧缩表函数
- Flex入门
- Launching the web browser on 3rd Edition to open a specified URL
- Add a Bookmark
- OPC 与 RTDB
- 什么是网站,什么是网页,网页网站的关系
- 由于没有关闭connection,造成的后果
- [项目管理]工程与产品开发的差异——一个老项目的经典问题
- 灵图天行者9PC版、PPC版搜索不到卫星信号解决办法