找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 30|回复: 0

如何设置AcDbMText对齐方式

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-9-25 13:25:09 | 显示全部楼层 |阅读模式
  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.                         ACHAR * pAChar = pEnt_1->contents();//此函数返回文字内容和对齐样式
  10.                         //eg:文字内容是  小青峰 格式设置为居左
  11.                         //在CAD属性栏里面可以看到文字内容是:  \pxql;小青峰
  12.                         //CAD是利用_T("\\pxql;")_T("\\pxqr;")_T("\\pxqc;")_T("\\pxqd;") 参数设置多行文本的对齐方式
  13.                         CString strTmp(pAChar);
  14.                         int nIndex = strTmp.Replace(_T("\\pxql;"),_T("\\pxqc;")); //由原来的居左设置为居中
  15.                        
  16.                         int nIndex = pEnt_1->setContents(strTmp);//将格式和内容一同设置进去就可以了
  17.                         pEnt_1->setAttachment(AcDbMText::kMiddleCenter);//对正点 这个函数只是设置文字的插入点位置,对齐方式设置不了
  18.                         
  19.                        pEnt_1->text(); //获得仅仅是文字内容
  20.                         //自己想要什么效果 自己组合好了,
  21.                 }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-27 21:38 , Processed in 0.147811 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表