# include“l_bitmap.h”
L_LTANN_APIL_INTL_AnnEnumerate (hObject、pfnCallback pUserData、uFlags pUserList)
让你处理所有的注释对象在一个容器中。
处理的容器对象。
回调函数来处理每个枚举对象。使用函数指针作为该参数的值。
L_AnnEnumerate调用这个回调函数,因为它被每个注释对象的处理。回调函数必须遵守所描述的函数原型ANNENUMCALLBACK函数。
空指针,您可以使用它通过一个或多个回调函数需要额外的参数。
要使用该功能,赋值给一个变量或创建一个结构,其中包含你需要的尽可能多的领域。然后在这个参数,通过变量的地址或结构,铸件L_VOID*。回调函数,接收地址的pUserData参数,可以把它适当的数据类型的指针来访问变量或结构。如果不需要额外的参数,该参数可以传递NULL。
旗帜,确定哪些对象的过程。大部分的旗帜只适用于容器对象。在适当的时候可以结合值通过使用位或(|)。以下是有效值:
价值 | 意义 |
---|---|
0 | 过程只有指定的对象。 |
ANNFLAG_SELECTED | [0 x0001]过程只有对象选择的属性设置为TRUE。为获取和设置选中的属性,使用L_AnnGetSelected和L_AnnSetSelected功能。 |
ANNFLAG_NOTTHIS | [0 x0004]过程只有一个对象在指定的容器内,容器本身。 |
ANNFLAG_RECURSE | [0 x0008]过程对象在一个容器中,并在任何subcontainers,任何级别。 |
ANNFLAG_NOTCONTAINER | [0 x0002](用于ANNFLAG_RECURSE)过程对象在容器中,容器本身。 |
ANNFLAG_USER | [0 x0040]只处理用户包含在这些对象pUserList 。如果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);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。