プロダクト: | MicroStation | ||
バージョン: | CE update13 | ||
環境: | N/A | ||
エリア: | Programming | ||
サブエリア: | MDL |
代替え処理として次の例をご参照してください:
int dropFunc(MSElementP elemP, void *dataP, DgnModelRefP modelRef, MSElementDescrP dscrP, MSElementDescrH newDscrPP, ModifyElementSource elemSource) {
int elemType = mdlElement_getType(elemP);
if (CMPLX_STRING_ELM != elemType && CMPLX_SHAPE_ELM != elemType)
return MODIFY_STATUS_NOCHANGE;
ElementHandle eh(dscrP, true);
ElementAgenda agenda;
DropGeometryPtr pDropGeometry = DropGeometry::Create();
pDropGeometry->SetOptions(DropGeometry::Options::OPTION_Complex);
if (SUCCESS != eh.GetDisplayHandler()->Drop(eh, agenda, *pDropGeometry))
{
mdlDialog_dmsgsPrint(L"Element Drop failed");
return MODIFY_STATUS_NOCHANGE;
}
for (EditElementHandleR eeh : agenda)
eeh.AddToModel();
return MODIFY_STATUS_NOCHANGE;
}
void test()
{
UInt32 filePos = 4000000L;
mdlModify_elementSingle(ACTIVEMODEL, filePos, MODIFY_REQUEST_HEADERS, MODIFY_ORIG, dropFunc, NULL, 0L); mdlElement_undoableDelete (NULL, filePos, true); }
Original Author: | Mikihiko Tabata |