INewPolygonFeedback接口(实时显示所画多边形的面积)
Posted on 2012-08-31 13:45 用心计较般般错 安心自守事事宽 阅读(1266) 评论(0) 编辑 收藏 举报想用INewPolygonFeedback来实时显示多边形的面积
想用INewPolygonFeedback来实时显示多边形的面积。INewPolygonFeedback画多边形不用多说。大致过程大家都知道。
如果要实时显示多边形的面积,那么就要在BaseTool工具的OnMouseMove方法中实现。即在这个方法中,获取多变形的最后一个点,并根据之前的点组成多边形,求其面积后,用IElement来显示出一个面积字符串。
在显示的过程中,由于每一次鼠标移动要到刷新要素,用到方法PartialRefresh。在刷新要素的过程中,对INewPolygonFeedback所画的轨迹产生干扰。闪动非常大。不知道怎么解决,偶然发现INewPolygonFeedback本身有一个Reflash方法,用次方法解决问题。
在BaseTool中,重写Reflash方法,然后把INewPolygonFeebback的Reflash放到其中。代码如下:
public override void Refresh(int hDC)
{
m_pNewPolygonFeedback.Refresh(hDC);
base.Refresh(hDC);
}
作者:
cglnet
本文版权归cglNet和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.