メンバーを移動します。
構文
ESS_FUNC_M
EssOtlMoveMember
(
hOutline, hMember, hNewParent, hNewPrevSibling
);
| パラメータ | データ型 | 説明 |
|---|---|---|
hOutline |
ESS_HOUTLINE_T |
アウトラインのコンテキスト・ハンドル |
hMember |
ESS_HMEMBER_T |
移動するメンバーのハンドル |
hNewParent |
ESS_HMEMBER_T |
新しい親のハンドル。このフィールドは、hNewPrevSiblingフィールドがESS_NULLの場合にのみ使用されます。 |
hNewPrevSibling |
ESS_HMEMBER_T |
新しい前の兄弟のハンドル |
備考
移動したメンバーは、hPrevSiblingメンバーの後に挿入されます。このフィールドがESS_NULLである場合、移動したメンバーはhParentによって指定した親の最初の子になります。
hParentとhPrevSiblingの両方がESS_NULLの場合、移動されたメンバーはアウトラインの最初の次元になります。
型がESS_ATTRMBRDT_STRINGでないゼロレベル(リーフ・ノード)の属性メンバーを移動すると、ESS_ATTRSPECS_T構造体のアウトラインの定義によって、メンバーのロング名がリセットされます。
祖先を移動すると、ゼロレベルの属性メンバーのロング名に影響する場合があります。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次の値が戻されます:
OTLAPI_BAD_MOVE
例
#include <essapi.h>
#include <essotl.h>
ESS_STS_T sts = 0;
ESS_HOUTLINE_T hOutline;
ESS_HMEMBER_T hMemberJan;
ESS_HMEMBER_T hMemberMar;
ESS_OBJDEF_T Object;
ESS_APPNAME_T szAppName;
ESS_DBNAME_T szDbName;
ESS_OBJNAME_T szFileName;
memset(&Object, '\0', sizeof(Object));
Object.hCtx = hCtx;
Object.ObjType = ESS_OBJTYPE_OUTLINE;
strcpy(szAppName, "Sample");
strcpy(szDbName, "Basic");
strcpy(szFileName, "Basic");
Object.AppName = szAppName;
Object.DbName = szDbName;
Object.FileName = szFileName;
sts = EssOtlOpenOutline(hCtx, &Object, ESS_TRUE,
ESS_TRUE, &hOutline);
if (!sts)
{
sts = EssOtlFindMember(hOutline, "Jan",
&hMemberJan);
}
if (!sts && hMemberJan)
{
sts = EssOtlFindMember(hOutline, "Mar",
&hMemberMar);
}
if (!sts && hMemberMar)
{
sts = EssOtlMoveMember(hOutline, hMemberJan,
ESS_NULL, hMemberMar);
}
関連トピック