FxCAD与绘图相关函数说明

Fast Computer Aided Design Platform

快速CAD开发平台

绘图相关函数接口说明




一、绘图代码详解

FxCAD与绘图相关函数说明

在FxCAD里,约定了每一个对象模型都是在一个虚拟的画布里,这个画布的大小由 abs(X1-X0)和abs(Y1-Y0)决定

override public void DrawGraphics(Graphicsg)

{

switch (OBJ_STATE)

{

case(int)LibObject.ObjectState.Normal:

{

//正常状态,对象的默认显示

this.DrawNode(g, LinePen);

break;

}

case(int)LibObject.ObjectState.Selected:

{

//对象被选中状态(即鼠标点击时)

this.DrawNode(g, LinePen_Selected); //绘制连接点

this.DrawSelectedRect(g, RectPen); //绘制边框

break;

}

case(int)LibObject.ObjectState.Linking:

{

//对象处于连接状态

this.DrawNode(g, LinePen_Selected); //绘制连接点

this.DrawSelectedRect(g, RectPen); //绘制边框

break;

}

}

}

FxCAD与绘图相关函数说明
(正常状态)

FxCAD与绘图相关函数说明
(选中状态)
FxCAD与绘图相关函数说明
FxCAD与绘图相关函数说明
(连接状态)


private voidDrawSelectedRect(Graphics g, Pen RectPen)

{

//绘制选中时候的边框

g.DrawRectangle(RectPen, P0.X - 10,P0.Y - 10, Weight + 20, Height + 20);

}

二、对象参数设置相关函数

override public void SetPointP0(floatx, float y)

{

base.SetPointP0(x,y);

this.SetArg();//设置对象左上脚坐标

}

override public void SetPointP1(floatx, float y)

{

//如果需要的话,可以在这里设置对象右下脚坐标

}

三、鼠标是否点中对象

override public bool CheckMouseInObject(floatx, float y)

{

//判断鼠标是否在对象的有效区域

if(x >= P0.X && x <= P1.X && y >= P0.Y && y<= P1.Y)

returntrue;

else

returnfalse;

}

四、对象相关【属性】事件

override public void SelectEvent(/*System.Windows.Forms.Formpt*/)

{

//右键点击对象,选择【属性】的事件

}

五、对象销毁

override public void Dispose(ArrayListal)

{

}