API_Attr_Head
모든 속성 타입들과 관련된 공통 정보를 포함하고 있습니다.
typedef struct { API_AttrTypeID typeID; short index; short flags; char name[API_AttrNameLen]; API_Guid guid; GSTime modiTime; GS::UniString *uniStringNamePtr; } API_Attr_Head;
멤버
- typeID
- 속성의 타입입니다; 이것은
index
필드와 함께 속성을 식별합니다.
가능한 속성 타입들을 보기 위해 API_AttrTypeID structure를 참조하십시오. - index
- 속성 인덱스는 주어진 속성의 현재 데이터베이스 인덱스입니다. 어떤 속성에 대한 레퍼런스는 이 인덱스들을 통해 이루어집니다. 각 속성 타입에 대하여 1부터 시작하여 최대 가능한 속성 인덱스까지 갑니다.
- flags
- 속성 flag들입니다. 속성 타입 지정 값들은 (해당되는 경우) 개별 속성 섹션에서 설명하고 있습니다. 다음 값들은 모든 타입의 속성들에 대하여 공통입니다:
-
값
설명
APIAttr_IsClientCreated
팀워크 모드에서 이 속성이 클라이언트에 의해 생성되었으며 변경사항이 아직 전송되지 않았는지 여부를 보여줍니다. 이러한 속성은 여전히 팀워크 모드에서 변경되거나 삭제될 수 있습니다. (출력 전용)
- name
- 적절한 다이얼로그들에서 나타나게 되는 속성의 이름입니다.
속성 이름은 최대 256 글자까지 가능합니다.
- guid
- 속성의 글로벌하게 유일한 식별자(GUID)입니다; ACAPI_Attribute_Get과 ACAPI_Attribute_Search로 속성들을 식별하기 위해 사용할 수 있습니다.
- modiTime
- GSTime 형식으로 된 속성의 변경 시간입니다.
- uniStringNamePtr
- UniString 포맷으로 된 속성의 이름에 접근하기 위한 선택적인 파라미터입니다.
설명
이 structure는 속성에 대한 일반적인 정보를 포함합니다. 모든 필드들을 모든 속성들에게 적용할 수 없습니다; 개별 속성들의 설명을 보십시오.
일반적으로 속성 관리자 함수들 중 어떤 것을 호출하기 전에, 전체 structure를 지우고 필요한 필드들을 채운 다음에 함수를 호출하십시오. structure 내 모든 필드들을 치우는 것은 나중의 호환성을 위해서도 중요합니다; 차후 API 릴리즈에서 fillers가 의미를 갖게 될 수도 있습니다.
펜 속성은 보통 이름을 갖고 있지 않으며 인덱스는 1 ~ 255이어야 합니다. API_PenType에서 설명하는 특수 펜 인덱스 값들이 있습니다.
generalPtr
포인터가 API_Attr_Head
structure에서 제거되었음을 참고하십시오.
당신은 C 문자열 포맷(name
) 또는 GS::UniString
포맷(uniStringNamePtr
)으로 긴 속성 이름에 접근할 수 있습니다.
1개의 속성 함수 호출로 여러 개의 속성들을 제거하려면 ACAPI_Attribute_DeleteMore를 사용하십시오.
ArchiCAD 11부터 속성 이름들을 GS::UniString
포맷으로 저장합니다.
문자 변환으로 인한 정보 손실을 피하기 위해 속성 동작들에 대하여 UniString 포맷을 사용할 수 있습니다.
이를 위해 API_Attr_Head
structure의 uniStringNamePtr
필드 내 GS::UniString
변수의 포인터를 세트하십시오.
그 외에는 이 필드를 항상 NULL
로 세트하십시오.
당신은 속성들을 GUID나 이름으로 식별할 수 있습니다.
만약 당신이 속성을 이름으로 참조하고 싶으면 guid
멤버를 APINULLGuid
로 세트하십시오.
Fonts, Pens 및 Model View Options는 고유의 GUID를 갖고 있지 않습니다.
그래서 guid
필드는 항상 APINULLGuid
를 포함하고 있습니다.
만약 당신이 uniStringNamePtr
을 유효한 GS::UniString
객체를 가리키도록 세트한다면, name
문자 버퍼의 내용을 무시합니다.
요구사항
- 버전: API 1.3 또는 이후
- 헤더: APIdefs_Attributes.h
참고사항
API_AttrTypeID
API_Guid
속성 관리자
API 타입
ACAPI_Attribute_Get, ACAPI_Attribute_Search, ACAPI_Attribute_DeleteMore