Graphisoft®

API Development KitVersion: 18

ACAPI_RegisterModelessWindow

API에서 Modeless Palette를 등록합니다.

    GSErrCode  ACAPI_RegisterModelessWindow (
        Int32                              referenceID,
        APIPaletteControlCallBackProc*     callBackProc,
        GSFlags                            controlFlags,
        const API_Guid&                    paletteGuid = APINULLGuid
    );

 

파라미터

referenceID
[in] 당신의 Modeless Palette를 유일하게 식별하기 위한 임의의 수입니다. (원한다면 당신은 리소스 ID를 사용할 수 있습니다)
callBackProc
[in] 특수 API 메시지를 처리하기 위한 콜백 프로시저입니다. DG와 관계없이 API가 호출합니다.
controlFlags Changed in API 11
[in] 서로 다른 ArchiCAD 창(평면도, 3D, 단면도, 레이아웃) 위에서와 선택할 때의 팔레트의 행동을 정의합니다.
paletteGuid Featuring API 15
[in] Work Environment에서 팔레트의 상태를 기록하기 위한 유일한 식별자입니다. 선택적인 파라미터이며 생략할 수 있습니다.

 

리턴 값

NoError
함수가 성공적으로 완료되었습니다.
APIERR_BADID
전달된 referenceID가 이미 사용 중입니다.
APIERR_MEMFULL
새로운 엔트리를 위한 free 메모리를 이용할 수 없습니다.

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

 

설명

Modeless 팔레트들은 이제 일반 DG 함수들로 열 수 있습니다. (DGModelessInit 또는 DG::Palette로 열 수 있음) 그러나 API는 애드온의 팔레트의 존재에 대해 알아야만 합니다. 그래서 특수 메시지들을 팔레트에게 보낼 수 있습니다. (APIPaletteControlCallBackProc를 보십시오) 이 함수는 애드온의 Modeless 창을 API로 등록합니다; 당신의 팔레트의 콜백의 DG_MSG_INIT 섹션이나 팔레트의 생성자에서 호출하십시오.

API 11은 controlFlags 파라미터에 대한 새로운 값들을 도입했습니다: API_PalEnabled_Worksheet, API_PalEnabled_Elevation, API_PalEnabled_InteriorElevation

 

예제

// ... Dialog notifications ....................................................

// --- MainObserver ---------------------------------------------------------

void    MainObserver::PanelOpened (const DG::PanelOpenEvent& /*ev*/)
{
    GSErrCode    err;

    err = ACAPI_RegisterModelessWindow (palette->GetId (),
                                        PaletteAPIControlCallBack,
                                        API_PalEnabled_FloorPlan + API_PalEnabled_Section + API_PalEnabled_Layout);
    if (err != NoError) {
        DBPrintf ("MainObserver::PanelOpened: ACAPI_RegisterModelessWindow failed\n");
    }
}       // MainObserver::PanelOpened

 

요구사항

버전: API 4.1 또는 이후
헤더: ACAPinc.h

 

참고사항

ACAPI_UnregisterModelessWindow, API 함수