您的位置:首页 > 其它

ArcGIS Engine 刷新问题

2016-07-17 18:23 197 查看
link: http://www.cnblogs.com/Jingkunliu/archive/2013/01/10/2854710.html
PartialRefresh方法是部分刷新,效率方面比单纯的Refresh方法高很多。调用Refresh总是绘画毎一个对象。这是非常低效的。所以应该多使用PartialRefresh方法而少用Refresh。

刷新图层: pMap.PartialRefresh(esriViewGeography, pLayer, null);

刷新所有图层: pMap.PartialRefresh(esriViewGeography, null, null);

刷新所选择的对象: pMap.PartialRefresh(esriViewGeoSelection, null, null);

刷新标注: pMap.PartialRefresh(esriViewGraphics, null, null);

刷新图元 pLayout.PartialRefresh(esriViewGraphics, pElement, null);

刷新所有图元 pLayout.PartialRefresh(esriViewGraphics, null, null);

刷新所选择的图元 pLayout.PartialRefresh(esriViewGraphicSelection, null, null);

特殊的对于清除选择集,要在清除前后均进行一次刷新





























另外,对于如果对地图进行刷新、闪烁的时候,会出现先闪烁后刷新的问题,这是要添加相应的语句进行处理。





出现这个问题好像是由于图形显示和闪烁不在同一个线程中执行导致的。闪烁图形是一个很快的操作,而刷新背景却需要比较复杂的计算,所以先出来的语句 后执行结束。使用 m_activeView.UpdateWindow后就可以让代码在此等待。等到刷新确实搞定了。才开始执行FlashShape。使用下面的方法就可以解决这个问题:






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: