L_LVKRN_APIL_INTL_VecGetObject (pVector pObject、nType pObjectDesc)
获取指定向量对象信息的对象。
指针指向一个向量处理。
指针指向一个向量对象。
对象类型。可能的值是:
价值 | 意义 |
---|---|
VECTOR_ARC | 弧。 |
VECTOR_CHORD | 和弦。 |
VECTOR_CIRCLE | 圆。 |
VECTOR_CLONE | 克隆一个向量的对象组。 |
VECTOR_ELLIPSE | 椭圆。 |
VECTOR_ELLIPTICALARC | 椭圆弧线。 |
VECTOR_LINE | 线。 |
VECTOR_PIE | 派部分。 |
VECTOR_POLYBEZIER | 保利贝塞尔曲线。 |
VECTOR_POLYDRAW | Polydraw。 |
VECTOR_POLYGON | 多边形。 |
VECTOR_POLYLINE | 多段线。 |
VECTOR_RASTER | 光栅。 |
VECTOR_RECTANGLE | 矩形。 |
VECTOR_TEXT | 文本。 |
VECTOR_VERTEX | 在太空三维顶点。 |
指针指向一个向量对象结构的对象信息更新指定的对象。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
这个函数是用于获得一定的矢量对象的信息。
如果你设置nType VECTOR_OBJECT,指出结构由pObjectDesc充满了一般VECTOROBJECT结构信息共同所有的对象类型。
如果你想要特定对象的信息,设置nType成员所请求的对象类型和设置pObjectDesc适当的矢量对象的地址结构。
一旦不再需要pObjectDesc,自由通过调用任何相关的资源L_VecFreeObject。
必需的dll和库
第一个例子将在当前鼠标光标选择对象。
第二个例子VECTOR_RECTANGLE对象并设置特定的信息。
第二个例子将检查如果击中测试下的对象是一个矩形,然后改变它的笔颜色为红色。
L_LTVKRNTEX_API L_INT VecGetObjectExample1 (
pVECTORHANDLE pVector,
常量点* pptMouse)
{
VECTOROBJECT对象;
VECTOROBJECT ObjectDesc;
L_INT nRet;
/ *得到鼠标光标下的对象* /
nRet = L_VecHitTest (pVector pptMouse对象);
如果(nRet = =成功)
{
/ *选择这对象* /
nRet = L_VecGetObject (pVector对象、VECTOR_OBJECT &ObjectDesc);
如果(nRet ! =成功)
返回nRet;
ObjectDesc。dwFlags | = VECTOR_OBJECT_SELECTED;
nRet = L_VecSetObject (pVector对象、VECTOR_OBJECT &ObjectDesc);
如果(nRet ! =成功)
返回nRet;
/ * * /清理干净
nRet = L_VecFreeObject (VECTOR_OBJECT &ObjectDesc);
}
返回nRet;
}
L_LTVKRNTEX_API L_INT VecGetObjectExample2 (
pVECTORHANDLE pVector,
常量点* pptMouse)
{
VECTOROBJECT对象;
VECTORRECTANGLE矩形;
L_INT nRet;
/ *这个鼠标光标* /下得到对象
nRet = L_VecHitTest (pVector pptMouse对象);
/ * * /确保对象是一个矩形
如果& &对象(nRet = =成功。nType = = VECTOR_RECTANGLE)
{
/ *改变其笔颜色红色* /
对象,nRet = L_VecGetObject (pVector VECTOR_RECTANGLE,矩形);
如果(nRet ! =成功)
返回nRet;
Rectangle.Pen。bExtPen = FALSE;
Rectangle.Pen.NewPen.LogPen。lopnColor = RGB (0 xff 0 x00 0 x00);
对象,nRet = L_VecSetObject (pVector VECTOR_RECTANGLE,矩形);
如果(nRet ! =成功)
返回nRet;
/ * * /清理干净
nRet = L_VecFreeObject (VECTOR_RECTANGLE、矩形);
}
返回nRet;
}