GraphControl是Netron中比较重要的一个类,属于所有图形作图的画布。它管理着画布上的所有图形对象的移动、变形、连接、拖放。这些功能很重要的一部分是通过对鼠标事件的处理实现的。下面我们就看看GraphControl的鼠标事件处理逻辑。不过需要说明的一点是,下图列出是笔者对Netron代码进行重构改写后的处理逻辑,请读者参照附件里改写后的源代码。
附件:自己开发的流程图软件源码PADFlowChart
1.一些说明:
GraphControl.OnMouseDown()处理逻辑:
GraphControl.OnMouseMove()的处理逻辑:
GraphControl.OnMouseUp()的处理逻辑: