INewPolygonFeedback接口(实时显示所画多边形的面积)

  想用INewPolygonFeedback来实时显示多边形的面积

  想用INewPolygonFeedback来实时显示多边形的面积。INewPolygonFeedback画多边形不用多说。大致过程大家都知道。

 

  如果要实时显示多边形的面积,那么就要在BaseTool工具的OnMouseMove方法中实现。即在这个方法中,获取多变形的最后一个点,并根据之前的点组成多边形,求其面积后,用IElement来显示出一个面积字符串。

 

  在显示的过程中,由于每一次鼠标移动要到刷新要素,用到方法PartialRefresh。在刷新要素的过程中,对INewPolygonFeedback所画的轨迹产生干扰。闪动非常大。不知道怎么解决,偶然发现INewPolygonFeedback本身有一个Reflash方法,用次方法解决问题。

 

BaseTool中,重写Reflash方法,然后把INewPolygonFeebbackReflash放到其中。代码如下:

        public override void Refresh(int hDC)

        {

            m_pNewPolygonFeedback.Refresh(hDC);

            base.Refresh(hDC);

        }

 

作者: cglnet
本文版权归cglNet和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
原文地址:https://www.cnblogs.com/cglNet/p/2665278.html