您的位置:首页 > 其它

矢量图控件VectorDraw使用教程:ActionUtility对象

2013-11-15 11:09 405 查看
在上一文《矢量图控件VectorDraw使用教程:添加vdFramedControl (Visual C# 2005)》中,我们介绍了如何将VDF vdFramedControl控件添加到VS2005中。接下来,我们将在VS中演示一些更为复杂的例子。

ActionUtility对象可用于询问客户是否需要在程序中输入一个点、矩形或者距离等数据。如何用户需要数据一个点,你可以调用下列代码:

gPoint userpoint;

vdFC.BaseControl.ActiveDocument.Prompt("Select a Point:");

//The user can either click a point or type at the command line a point like

5,5,2

StatusCode ret =

vdFC.BaseControl.ActiveDocument.ActionUtility.getUserPoint(out userpoint);

vdFC.BaseControl.ActiveDocument.Prompt(null);

if (ret == StatusCode.Success){

MessageBox.Show("The user selected: x:" + userpoint.x.ToString() + " y:" +

userpoint.y.ToString() + " z:" + userpoint.z.ToString() + " In UCS(user

coordinate system)");

}

也可以对上述代码做一些修改,在输入一个点,从而创建一个矩形,代码如下:

vdFC.BaseControl.ActiveDocument.New();

gPoint userpoint;

vdFC.BaseControl.ActiveDocument.Prompt("Select a Point:");

//The user can either click a point or type at the command line a point like

5,5,2

StatusCode ret =

vdFC.BaseControl.ActiveDocument.ActionUtility.getUserPoint(out userpoint);

vdFC.BaseControl.ActiveDocument.Prompt(null);

if (ret == StatusCode.Success){

MessageBox.Show("The user selected: x:" + userpoint.x.ToString() + " y:"

+ userpoint.y.ToString() + " z:" + userpoint.z.ToString() + " In UCS(user

coordinate system)");

}

vdFC.BaseControl.ActiveDocument.Prompt("Other corner:");

//The user can either click a point or type at the command line a point like

5,5,2

object ret2 =

vdFC.BaseControl.ActiveDocument.ActionUtility.getUserRect(userpoint);

vdFC.BaseControl.ActiveDocument.Prompt(null);

Vector v = ret2 as Vector;

if (v != null) {

double angle = v.x;

double width = v.y;

double height = v.z;

//Calculate the point the user clicked.

//Use polar command to find the bottom right point moving width distance

from the initial point.

gPoint userpoint2 = userpoint.Polar(0.0, width);

//Use the polar again to go up height distance to find the upper right

point.

userpoint2 = userpoint2.Polar(VectorDraw.Geometry.Globals.HALF_PI,

height);

MessageBox.Show("The user selected 2nd point : x:" +

userpoint2.x.ToString() + " y:" + userpoint2.y.ToString() + " z:" +

userpoint2.z.ToString() + " In UCS(user coordinate system)");

vdFC.BaseControl.ActiveDocument.CommandAction.CmdRect(userpoint,

userpoint2);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐