如何设置AcDbMText对齐方式
//_T("\\pxql;") 居左//_T("\\pxqr;") 居右
//_T("\\pxqc;") 居中
//_T("\\pxqd;") 分散对齐
//MtextInfoId 文字ID
AcDbObjectPointer<AcDbMText> pEnt_1(MtextInfoId, AcDb::kForWrite);
if (pEnt_1.openStatus() == Acad::eOk)
{
ACHAR * pAChar = pEnt_1->contents();//此函数返回文字内容和对齐样式
//eg:文字内容是小青峰 格式设置为居左
//在CAD属性栏里面可以看到文字内容是:\pxql;小青峰
//CAD是利用_T("\\pxql;")_T("\\pxqr;")_T("\\pxqc;")_T("\\pxqd;") 参数设置多行文本的对齐方式
CString strTmp(pAChar);
int nIndex = strTmp.Replace(_T("\\pxql;"),_T("\\pxqc;")); //由原来的居左设置为居中
int nIndex = pEnt_1->setContents(strTmp);//将格式和内容一同设置进去就可以了
pEnt_1->setAttachment(AcDbMText::kMiddleCenter);//对正点 这个函数只是设置文字的插入点位置,对齐方式设置不了
pEnt_1->text(); //获得仅仅是文字内容
//自己想要什么效果 自己组合好了,
}
页:
[1]