Graphisoft®

API Development KitVersion: 18

APIDb_NewWindowID

새로운 창을 엽니다.

    GSErrCode ACAPI_Database (
        APIDb_NewWindowID,
        API_NewWindowPars*              newWindowPars,
        APICustomWindowHandlerProc*     handlerProc
    );

 

파라미터

newWindowPars
[in] 생성할 창의 파라미터들입니다. (type, reference index)
handlerProc
[in] 특수 (예. 활성화) 이벤트들을 처리하기 위한 콜백 함수입니다. 이 이벤트들에 대해 관심이 없다면 NULL을 지정하십시오.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
windowParsNULL입니다.
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 함수