在我的应用程序中,我想使用Windows创建图形方法绘制多边形,然后通过允许用户选择多边形的点并允许重新定位它们来编辑多边形。
我使用moue move事件获取点的新位置以获取要移动的点的新坐标,并使用Paint事件重新绘制多边形。应用程序正在运行但是当移动一个点时,移动不顺畅。
我不知道鼠标移动的天气或油漆事件的性能障碍。
有人可以就如何改善这一点提出建议吗?
答案 0 :(得分:1)
您可能没有真正的性能问题 - 可能是您需要绘制到屏幕外DC,然后将其复制到您的窗口,这将减少闪烁并使运动看起来更平滑。
如果您使用Win32 api进行编码,请查看this以供参考。
答案 1 :(得分:1)
确保每次鼠标移动都不重绘。执行此操作的正确方法是处理所有输入事件,修改多边形数据并设置重绘需要发生的标志(在Windows上可能只调用InvalidateRect()而不调用UpdateWindow())。
答案 2 :(得分:0)
...当然,请确保只使需要重新绘制的区域无效。由于您要跟踪多边形,因此只使多边形区域(前后状态的矩形联合)无效。