<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function allowDrop(ev){ ev.preventDeafault(); } function drag(ev){ ev.dataTranster.setData("Text",ev.target.id); } function drop(ev){ var data=ev.dat
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function allowDrop(ev){ ev.preventDeafault(); } function drag(ev){ ev.dataTranster.setData("Text",ev.target.id); } function drop(ev){ var data=ev.dat
GraphControl是Netron中比较重要的一个类,属于所有图形作图的画布.它管理着画布上的所有图形对象的移动.变形.连接.拖放.这些功能很重要的一部分是通过对鼠标事件的处理实现的.下面我们就看看GraphControl的鼠标事件处理逻辑.不过需要说明的一点是,下图列出是笔者对Netron代码进行重构改写后的处理逻辑,请读者参照附件里改写后的源代码. 附件:自己开发的流程图软件源码PADFlowChart 1.一些说明: GraphControl.OnMouseDown()处理逻辑: Gr
看过之前设计器截图的朋友应该有印象,可能会发觉我们的设计器UI设计布局其实类似Visual studio 的设计界面,采用的是左.中.右三个区域布局.左侧为控件区域.中间为表单的画布设区域.右侧为属性区域.这样的UI设计肯定就得支持控件的拖拽设计,用户只要拖放一个控件到我们的画布上,那么画布就应该立即能够看到我们拖放的控件在画布中的位置.大小.以及一些控件自带的默认信息.不用说这样的设计对于用户来说不论在操作体验上还是设计的感官上都更加直接和方便,因为我在设计阶段就可以知道我设计后的表单在系统运