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_SuspendGroups
Suspend 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