L_AnnEnumerate

# include“l_bitmap.h”

L_LTANN_APIL_INTL_AnnEnumerate (hObject、pfnCallback pUserData、uFlags pUserList)

让你处理所有的注释对象在一个容器中。

参数

HANNOBJECThObject

处理的容器对象。

ANNENUMCALLBACKpfnCallback

回调函数来处理每个枚举对象。使用函数指针作为该参数的值。

L_AnnEnumerate调用这个回调函数,因为它被每个注释对象的处理。回调函数必须遵守所描述的函数原型ANNENUMCALLBACK函数

L_VOID* pUserData

空指针,您可以使用它通过一个或多个回调函数需要额外的参数。

要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后在这个参数,通过变量的地址或结构,铸件L_VOID*。回调函数,接收地址的pUserData参数,可以把它适当的数据类型的指针来访问变量或结构。如果不需要额外的参数,该参数可以传递NULL。

L_UINTuFlags

旗帜,确定哪些对象的过程。大部分的旗帜只适用于容器对象。在适当的时候可以结合值通过使用位或(|)。以下是有效值:

价值 意义
0 过程只有指定的对象。
ANNFLAG_SELECTED [0 x0001]过程只有对象选择的属性设置为TRUE。为获取和设置选中的属性,使用L_AnnGetSelectedL_AnnSetSelected功能。
ANNFLAG_NOTTHIS [0 x0004]过程只有一个对象在指定的容器内,容器本身。
ANNFLAG_RECURSE [0 x0008]过程对象在一个容器中,并在任何subcontainers,任何级别。
ANNFLAG_NOTCONTAINER [0 x0002](用于ANNFLAG_RECURSE)过程对象在容器中,容器本身。
ANNFLAG_USER [0 x0040]只处理用户包含在这些对象pUserList。如果pUserList为空,只处理那些没有相关用户的对象。

L_TCHAR* pUserList

字符串包含与指定的对象关联的用户列表。pUserList的形式“User1、User2, UserN”。这一定是一个空字符串终止与用户名由逗号分隔。这个参数是有效的只有ANNFLAG_USER设置uFlags

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

你通过处理的容器对象hObject参数,和你指定回调函数来处理容器中的每个对象。L_AnnEnumerate函数调用的回调函数,因为它被每个注释对象的处理。

你不应该调用这个函数在处理WM_LTANNEVENT如果按钮= LTANNEVENT_REMOVE或LTANNEVENT_INSERT,或在ANNENUMCALLBACK回调函数

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个ANNENUMCALLBACK函数更新的统计数字
的矩形,椭圆,多边形,流程每个注释对象。
这个例子使用一个回调函数计算矩形的数量,
椭圆形、多边形。

L_INT EXT_CALLBACK TestAnnCallback (HANNOBJECT hObject,L_INT * pUserData){L_UINT ObjectType;/ * * /注释对象的类型L_INT ObjectCount;/ * * /对象的数量/ *初始化对象数* /ObjectCount = (L_INT) * pUserData;/ *获取当前对象类型* /L_AnnGetType (hObject objecttype);/ *更新计数器,如果对象是一个矩形,椭圆,多边形* /如果((ObjectType = = ANNOBJECT_RECT) | |(ObjectType = = ANNOBJECT_ELLIPSE) | |(ObjectType = = ANNOBJECT_POLYGON)){+ + ObjectCount;}/ * * /更新调用者的变量* pUserData = ObjectCount;返回成功;}L_INT AnnEnumerateExample (HANNOBJECT hContainer)/ * * /注释对象容器{L_INT nRet;L_TCHAR szMessage [80];L_INT ObjectCount;/ *注释对象的计数器* /L_INT * pCount = &ObjectCount;/ *指向对象的指针* // *初始化对象数* /ObjectCount = 0;/ *设置回调函数* // *处理根容器中的每个对象* // *参考下面回调函数更新计数* /nRet = L_AnnEnumerate (hContainer TestAnnCallback、pCount ANNFLAG_RECURSE, NULL);如果(nRet ! =成功)返回nRet;/ *显示一个消息框结果* /wsprintf (szMessage文本(“% d矩形、椭圆、多边形”),ObjectCount);对话框(NULL, szMessage文本(“通知”),MB_OK);返回成功;}

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。