ACAPI_Element_Tool
요소들 상에서 도구 커맨드들을 실행합니다.
GSErrCode ACAPI_Element_Tool (
API_Elem_Head** elemHead,
Int32 nItem,
API_ToolCmdID typeID,
void* pars
);
파라미터
- elemHead
- [in] 작업할 요소들을 포함하는 핸들입니다.
- nItem
- [in]
elemHead에 전달된 요소들의 개수입니다. - typeID
- [in] 도구 커맨드의 타입입니다. 가능한 값들은 아래 목록에 나와 있습니다.
- pars
- 나중 사용을 위해 예약됨.
리턴 값
NoError- 함수가 성공적으로 완료되었습니다.
APIERR_BADDATABASE- 현재 데이터베이스는 동작에 적절하지 않습니다.
APIERR_BADPARS- 전달된 파라미터가 올바르지 않습니다;
typeID APIERR_MEMFULL- 동작을 완료하기에는 메모리가 부족합니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 요소들의 집합에서 도구 커맨드들을 실행하는 데 사용합니다.
요소들은 elemHead 핸들에서 지정합니다. 만약 이 파라미터가 NULL이면 이 함수는 현재 선택한 것들을 기반으로 동작합니다.
각 도구의 기능은 Tools 메뉴의 해당 커맨드들과 동일합니다.
다음 도구 커맨드들을 이용할 수 있습니다:
의미
APITool_Group전달된 요소들을 가지고 새로운 그룹을 생성합니다.
APITool_Ungroup전달된 요소들을 그룹 해제합니다.
APITool_SuspendGroupsSuspend Groups 모드 On/Off를 전환합니다.
APITool_Lock전달된 요소들을 잠급니다.
APITool_Unlock전달된 요소들을 잠금해제합니다.
APITool_BringToFront전달된 요소들을 다른 것들보다 위로 가져옵니다.
APITool_BringForward전달된 요소들을 앞으로 이동시킵니다.
APITool_SendBackward전달된 요소들을 뒤로 이동시킵니다.
APITool_SendToBack요소들을 다른 것들에 의해 겹쳐지도록 뒤로 보냅니다.
APITool_ResetOrder전달된 요소들의 기본 그리기 순서를 리셋합니다.
예제
// 모든 벽들을 함께 그룹화 함
GS::Array<API_Guid> elemList;
ACAPI_Element_GetElemList (API_WallID, &elemList);
if (!elemList.IsEmpty ()) {
GSSize nElems = elemList.GetSize ();
API_Elem_Head** elemHead = (API_Elem_Head **) BMAllocateHandle (nElems * sizeof (API_Elem_Head), ALLOCATE_CLEAR, 0);
if (elemHead != NULL) {
for (GSIndex i = 0; i < nElems; i++)
(*elemHead)[i].guid = elemList[i];
ACAPI_Element_Tool (elemHead, nElems, APITool_Group, NULL);
BMKillHandle ((GSHandle *) &elemHead);
}
}
요구사항
- 버전: API 2.1 또는 이후
- 헤더: ACAPinc.h