FxCAD与绘图相关函数说明

Fast Computer Aided Design Platform

快速CAD开发平台

 

 

绘图相关函数接口说明




一、绘图代码详解

 

在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;

                    }

            }

}

                    
(正常状态)


(选中状态)


(连接状态)


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)

{

 

}


posted @ 2011-11-10 10:43  陕北蜂农  阅读(239)  评论(0编辑  收藏  举报