APIDb_NewWindowID
새로운 창을 엽니다.
GSErrCode ACAPI_Database ( APIDb_NewWindowID, API_NewWindowPars* newWindowPars, APICustomWindowHandlerProc* handlerProc );
파라미터
- newWindowPars
- [in] 생성할 창의 파라미터들입니다. (type, reference index)
- handlerProc
- [in] 특수 (예. 활성화) 이벤트들을 처리하기 위한 콜백 함수입니다. 이 이벤트들에 대해 관심이 없다면
NULL
을 지정하십시오.
리턴 값
NoError
- 함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
windowPars
가NULL
입니다.APIERR_REFUSEDCMD
- 함수가 알림 레벨로부터 호출되었습니다.
APIERR_REFUSEDPAR
- APIWind_MyTextID 또는 APIWind_MyDrawID가 요청되지 않았습니다.
APIERR_WINDEXIST
- 동일한 type 및 reference index를 가진 창이 이미 열려 있습니다.
APIERR_NOPLAN
- 열린 프로젝트가 없습니다.
다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.
설명
이 함수는 새로운 창을 여는 데 사용합니다.
간단한 텍스트 또는 도면 창들을 여는 것으로 한정되어 있습니다. 도면 창은 일반 2D 모델 창과 비교하여 제한된 기능과 데이터베이스를 갖게 될 것입니다. 이것은 실제 2D 요소들만 가질 수 있습니다. (라인, 호 등) 벽, 보와 같은 건설 요소들은 이 데이터베이스에 나타낼 수 없습니다. 사용자는 데이터베이스를 변경할 수 없습니다. 사용자는 이 창들에서 입력 및 편집 기능을 사용할 수 없습니다.
이러한 타입의 창들은 알고리즘의 결과를 시각화하는 데 우수합니다. 가령 리스팅의 경우가 있습니다. 애드온은 동시에 여러 개의 드로잉 및 텍스트 창들을 열 수 있습니다.
애드온이 그러한 창을 하나 열면, 필요할 때 그 내용을 Rebuild할 책임을 갖게 됩니다.
ArchiCAD는 그러한 이벤트에 대해 알림들을 게시할 것입니다.
알림을 받게 되면 어떤 창에서 작동해야 할지 식별하기 위해 ArchiCAD는 windowPars->userRefCon
파라미터를 애드온에게 전달하게 될 것입니다.
더 자세한 것은 알림 관리자를 참조하십시오.
예제
API_NewWindowPars windowPars; GSErrCode err; BNZeroMemory (&windowPars, sizeof (API_NewWindowPars)); windowPars.typeID = APIWind_MyDrawID; // 드로잉 창을 생성함 windowPars.userRefCon = 1; GS::snuprintf (windowPars.wTitle, sizeof (windowPars.wTitle) / sizeof (GS::uchar_t), L("API window: %ld"), userRefCon); err = ACAPI_Database (APIDb_NewWindowID, &windowPars, NULL);
요구사항
- 버전: API 4.1 또는 이후
- 헤더: APIdefs_Database.h
참고사항
API_NewWindowPars, APICustomWindowHandlerProc,
APIDb_NewDatabaseID, APIDb_CloseWindowID,
ACAPI_Database, API 함수