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

- [in] 서로 다른 ArchiCAD 창(평면도, 3D, 단면도, 레이아웃) 위에서와 선택할 때의 팔레트의 행동을 정의합니다.
- paletteGuid

- [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