想用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);
}