static void RivilisMTEditor () {
ads_point pt;
ads_name en;
if (acedEntSel(_T("\nВыберите мультитекст: "), en, pt) == RTNORM)
{
AcDbObjectId eId; acdbGetObjectId(eId, en);
AcDbObjectPointer<AcDbMText> pMtext(eId, AcDb::kForWrite);
Acad::ErrorStatus es = pMtext.openStatus();
if (es == Acad::eNotThatKindOfClass) {
acedPrompt(_T("\nЭто не мультитекст!"));
return;
} else if (es != Acad::eOk) {
acutPrintf(_T("\nОшибка: %s"), acadErrorStatusText(es));
return;
}
// Объект редактора MTEXT:
AcEdInplaceTextEditor *pTextEditor = AcEdInplaceTextEditor::current();
// Установки редактора:
AcEdInplaceTextEditorSettings *pTextEditorSettings = new AcEdInplaceTextEditorSettings();
// Запускаем редактирование
if (pTextEditor->invoke(pMtext, pTextEditorSettings) != Acad::eOk) {
pMtext->cancel();
}
delete pTextEditorSettings;
}
}