xzt
xzt
路人甲
路人甲
  • 注册日期2003-10-21
  • 发帖数14
  • QQ
  • 铜币172枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1748回复:2

[求助]mapx是否可实现所有图层同时移动?

楼主#
更多 发布于:2004-06-29 17:12
<P>大家知道在mapinfo中一次只能移动第一个图层的图元,但有时需要所有图元一次性移动(例如统一改变所有图元的坐标)。我用mapx编程实现,图元是移动了,但却发生了变形。主要代码如下:</P>
<P>for i:=1 to map1.layers.count do</P>
<P>begin </P>
<P>    lyr:=map1.layers.item[1]; </P>
<P>    ftrs:=lyr.allfeatures;</P>
<P>    for j:=1 to ftrs.count do</P>
<P>    begin</P>
<P>        ftr:=ftrs.item[j];</P>
<P>        ftr.offset(x,y);   // 移动第一层的所有图元,x,y分别为x.y方向的偏移量</P>
<P>   end;</P>
<P>    map1.layers.move(1,map1.layers.count);</P>
<P>    // 将第一层移动到最下层,第二层移到第一次,以次下去,直到最后一层移到第一层且执行完图元的移动操作</P>
<P>end;</P>
<P>大概的代码如上,图元是移动了但却发生了变形,开始以为是没有申明图元的编辑模式为图元编辑模式,但申明后还是一样。我觉得自己的思路应该没问题,不知是根本不能实现还是程序有问题,恳请大家给予指点。</P>
<P>谢谢!!!!!    </P>
[此贴子已经被作者于2004-6-29 17:14:32编辑过]
喜欢0 评分0
chiling
路人甲
路人甲
  • 注册日期2003-08-21
  • 发帖数17
  • QQ
  • 铜币159枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-06-30 15:32
<P>为什么只能移动第一层的图元</P>
举报 回复(0) 喜欢(0)     评分
xzt
xzt
路人甲
路人甲
  • 注册日期2003-10-21
  • 发帖数14
  • QQ
  • 铜币172枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-06-30 18:42
因为在mapinfo中,不可能同时设置所有图层为可编辑状态,一次只能设置一个图层为可编辑,而对图元的编辑只能在可编辑图层上进行。所以我把第一个图层设置为可编辑,采用循环方式使所有图层轮流可编辑。
[此贴子已经被作者于2004-6-30 18:43:26编辑过]
举报 回复(0) 喜欢(0)     评分
游客

返回顶部