首页 > 代码库 > ObjectARX学习笔记(三十二)----如何设置AcDbMText对齐方式

ObjectARX学习笔记(三十二)----如何设置AcDbMText对齐方式

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

ObjectARX学习笔记(三十二)----如何设置AcDbMText对齐方式