[VC++]在MAPX中如何移动 图元(即部件) 的位置?

这是我的一段代码if(1==m_bIsRangeMouseDown){if(m_dDistance_1>3.0){SaveLog(s_Temp);CMapXFeat... 这是我的一段代码if(1 == m_bIsRangeMouseDown){ if(m_dDistance_1 > 3.0){ SaveLog(s_Temp); CMapXFeatures m_Features = m_Rangelayer.AllFeatures(); CMapXPoints m_Points; m_Points.CreateDispatch(m_Points.GetClsid()); m_ctrlMapX.SetAutoRedraw(FALSE); m_Rangelayer.BeginAccess(miAccessReadWrite); m_Points.AddXY(dX, dY); m_Points.AddXY(m_dfCenterX_3, dY); m_Points.AddXY(m_dfCenterX_3, m_dfCenterY_3); m_Points.AddXY(dX, m_dfCenterY_3); m_Points.AddXY(dX, dY); //标记图元重排 m_Features.Item(1).Offset(dX, dY); m_Features.Item(1).Update(); m_Features.Item(2).Offset(m_dfCenterX_3, dY); m_Features.Item(2).Update(); m_Features.Item(4).Offset(dX, m_dfCenterY_3); m_Features.Item(4).Update(); //设置轨迹样式 //m_Features.Item(5).SetType(miFeatureTypeLine); //m_Features.Item(5).GetStyle().SetLineColor(miColorBlue); //m_Features.Item(5).GetStyle().SetLineStyle(1); //m_Features.Item(5).GetStyle().SetLineWidth(2); //重置原围栏线 m_Rangelayer.AllFeatures().Item(5).GetParts().Remove(1); //索引位置 m_Rangelayer.AllFeatures().Item(5).GetParts().Add(m_Points); m_Rangelayer.AllFeatures().Item(5).Update(); SaveLog("1"); m_Rangelayer.EndAccess(); m_ctrlMapX.SetAutoRedraw(TRUE); } } 展开
 我来答
cc221310
2011-10-21 · 超过20用户采纳过TA的回答
知道答主
回答量:91
采纳率:0%
帮助的人:56万
展开全部
features.item(1).point.offset x,y vb的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式