Graphisoft®

API Development KitVersion: 18

APIEnv_GetToolBoxModeID

실제 툴박스 모드를 리턴합니다.

    GSErrCode ACAPI_Environment (
        APIEnv_GetToolBoxModeID,
        API_ToolBoxItem*     toolBoxItem
    );

 

파라미터

toolBoxItem
[out] 현재 툴박스 모드 데이터입니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADPARS
toolBoxItem이 NULL입니다.

다른 공통 API 오류들에 대해서는 API 오류 문서를 보십시오.

 

설명

이 함수는 현재 툴박스 모드를 가져오는 데 사용합니다. 모드는 typeID 필드에 리턴됩니다. 더 많은 툴박스 모드(ID_Wind, ID_Door, ID_Symb, ID_Light)들을 가질 수 있는 타입들에 대해서, 도구의 소유자 ID 역시 리턴됩니다. 만약 현재 툴박스 모드가 연관된 요소 타입을 갖고 있지 않다면 (예. 화살표 모드와 marquee 모드) typeIDAPI_ZombieElemID가 될 것입니다.

활성 툴박스 항목을 변경하려면 APIEnv_SetToolBoxModeID 함수를 사용하십시오.

 

예제

API_ToolBoxItem tboxInfo;
BNZeroMemory (&tboxInfo, sizeof (API_ToolBoxItem));

GSErrCode err = ACAPI_Environment (APIEnv_GetToolBoxModeID, &tboxInfo, NULL);
if (err == NoError) {
    GS::UniString elemName = "unknown";
    ACAPI_Goodies (APIAny_GetElemTypeNameID, (void *) (Int32) tboxInfo.typeID, &elemName);

    char buffer[256];
    if (tboxInfo.typeID == API_ZombieElemID) {
        sprintf (buffer, "Previous toolbox mode: Arrow or Marquee");
    } else if (tboxInfo.variationID == APIVarId_Generic) {
        sprintf (buffer, "Previous toolbox mode: %s", (const char*) elemName.ToCStr ());
    } else {
        char *p = (char *) &tboxInfo.variationID;
        sprintf (buffer, "Previous toolbox mode: %s  variation \"%c%c%c%c\"",
                    (const char*) elemName.ToCStr (), p[0], p[1], p[2], p[3]);
    }

    ACAPI_WriteReport (buffer, false);
}

 

요구사항

버전: API 2.1 또는 이후
헤더: APIdefs_Environment.h

 

참고사항

API_ToolBoxItem,
APIEnv_SetToolBoxModeID,
ACAPI_Environment, API 함수