GraphControl是Netron中比較重要的一個類,屬於所有圖形作圖的畫布。它管理着畫布上的所有圖形對象的移動、變形、連接、拖放。這些功能很重要的一部分是通過對鼠標事件的處理實現的。下面我們就看看GraphControl的鼠標事件處理邏輯。不過需要說明的一點是,下圖列出是筆者對Netron代碼進行重構改寫后的處理邏輯,請讀者參照附件里改寫后的源代碼。
附件:自己開發的流程圖軟件源碼PADFlowChart
1.一些說明:
GraphControl.OnMouseDown()處理邏輯:
GraphControl.OnMouseMove()的處理邏輯:
GraphControl.OnMouseUp()的處理邏輯: