【CAD】创建多行文本

下面为OBJECT-ARX创建多行文本的代码,记录

McDbMText* Mx::AddMText(IN McDbBlockTableRecord* pBlkRec,
IN LPCTSTR pszContents,
IN McGePoint3d pos,
IN double width,
IN double textHeight,
IN double rotation /*= 0.0*/,
IN McGeVector3d direction /*= McGeVector3d::kXAxis*/,
IN int attachment /*= McDbMText::kTopLeft*/,
IN int flowDirection /*= McDbMText::kLtoR*/,
IN double dFactor /*= 1.0*/,
IN McDb::LineSpacingStyle style /* = McDb::kAtLeast*/
)
{
McDbObjectId retId;
McDbMText* pMText = new McDbMText;
pMText->setContents(pszContents);
pMText->setLocation(pos);
pMText->setWidth(width);
pMText->setTextHeight(textHeight);
pMText->setRotation(rotation);
pMText->setDirection(direction);
pMText->setAttachment(McDbMText::AttachmentPoint(attachment) );
pMText->setFlowDirection(McDbMText::FlowDirection(flowDirection) );
pMText->setLineSpacingFactor(dFactor);
pMText->setLineSpacingFactor(style);
pBlkRec->appendAcDbEntity(retId,pMText);
return pMText;
}

实例:
前期准备
Acad::ErrorStatus es;
AcDbDatabase * pDatabase;
AcDbBlockTable *pBlockTable;
McDbBlockTableRecord * pBTableRec1;
pDatabase = MxDraw::GetDatabase(MxDraw::GetCurOcxHandle());
es = pDatabase->getBlockTable(pBlockTable,McDb::kForRead);
if(es != Acad::eOk){
AfxMessageBox(_T("获得块表失败"));
}
es = pBlockTable->getAt(MCDB_MODEL_SPACE, pBTableRec1,McDb::kForWrite);
if(es != Acad::eOk){
AfxMessageBox(_T("获得块记录失败"));
}
McGePoint3d pos(0,0,0);
AcDbObjectId textStyleId=CadDiyFunc::CreateTextStyle(_T("wzbzTextStyle"), _T("宋体"), 1);

方法一
McDbMText* mText = Mx::AddMText(pBTableRec1,_T("登鹳雀楼\\P白日依山尽\\P \\P黄河入海流\\P欲穷千里目\\P更上一层楼"),pos,100,300,0,McGeVector3d::kXAxis,McDbMText::kTopCenter,McDbMText::kLtoR,1.0,McDb::kAtLeast);
mText->setTextStyle(textStyleId);
mText->close();

方法二
McDbObjectId retId;
McDbMText* pMText = new McDbMText;
pMText->setContents(_T("登鹳雀楼\\P白日依山尽\\P黄河入海流\\P欲穷千里目\\P更上一层楼"));
pMText->setLocation(pos);
pMText->setWidth(100);
pMText->setTextHeight(30);
pMText->setRotation(0);
pMText->setAttachment(McDbMText::AttachmentPoint(McDbMText::kTopCenter) );
pMText->setTextStyle(textStyleId);
pBTableRec1->appendAcDbEntity(retId,pMText);
pMText->close();

善后
pBTableRec1->close();
pBlockTable->close();

注:\\P为换行 \\P空格\\P 换两行

时间: 2024-11-10 13:05:56

【CAD】创建多行文本的相关文章

CAD中如何创建单行文本和多行文本

相信很多朋友对于CAD编辑器,这个在CAD行业中比较常见的办公软件不陌生吧,CAD编辑器是CAD绘图中必不可少的一个工具,但是有的时候设计师们在编辑图纸内容的时候,有的地方需要输入一些文字来进行标注说明问题,在编辑器中有单行文本和多行文本都可以进行标注,那在CAD中如何创建单行文本和多行文本呢?下面我们就一起来看看具体操作步骤吧! 第一步:首先,打开电脑,在电脑桌面中看一下有没有CAD编辑器,没有的话任意打开一个浏览器,在浏览器中搜索迅捷CAD编辑器,进入官网,然后点击下载安装最新版本的CAD编

CAD技巧,如何在CAD中添加一个多行文本?

CAD技巧,如何在CAD中添加一个多行文本?在编辑CAD图纸的过程能够为了更加方便快捷建筑设计师们都会借助CAD编辑器来绘制图形,但是一张CAD图纸中的内容太多,在有的地方需要给CAD图纸进行一些标注,以便更好的查看,但是如何在CAD中添加一个多行文本?小伙伴们知道要怎么来操作吗?下面小编就利用迅捷CAD编辑器标准版来教教大家如何在CAD中添加一个多行文本?想要了解的朋友就一起来看看吧! 使用第一步:在电脑桌面中没有下载安装迅捷CAD编辑器的小伙伴们,在电脑中任意的打开一个浏览器,在浏览器的搜索

单行文本如何转换为多行文本?

我们在日常的CAD绘图工作中,常常会遇到现有的文字文本不满足新的CAD制图修改工作,需要再次进行编辑修改.例如,为了更加精准地绘图修改,我们常常需要把单行文本转换为多行文本.今天小编就给大家分享一些文本编辑的一些小方法.具体操作如下: 单行文本 在专业的制图软件--迅捷CAD编辑器专业版里操作如下: 1.点击单行文字编辑图标,按照相应的命令指示,我们输入一串单行文本文字. 2.或是直接在命令框里输入"DTEXT"命令字符:按照相应的命令指示,我们输入一串单行文本文字. 单行文本到多行文

NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本

向原创致敬http://blog.csdn.net/chenggong2dm/article/details/25494537 写在前面:     本文将创建NGUI的第一个例子.按照编程传统,第一个例子,就是做一个Hello world 显示出来.NGUI,我们用Label来实现 . 欢迎大家纠错.拍砖!原创很辛苦,如有转载,请注明出处:http://blog.csdn.net/chenggong2dm/article/details/25494537 Label -- 标签 在NGUI 3.

表单开发(二):获取单选按钮,多行文本框,下拉菜单,捆绑元素数据,用户注册

单选按钮:<input type="radio"> 多行文本框:<textarea rows="5" cols="30"></textarea> 下拉菜单:seclet option <select name="home" ><!--下拉列表--> <option value="北 京">北 京</option> <o

利用char, str2mat, strvcat创建多行字符串数组

用专门函数char , str2mat , strvcat创建多行字符串数组示例. 1.char('str1', 'str2',...) Convert to character array (string)转换成字符串数组,空字符串是有效的. 示例:S1=char('This string array','', 'has two rows.')   S1 = This string array has two rows. 2.str2mat  (新版本中被char替代) Form blank-

swift UI专项训练19 TextView 多行文本

有时候我们所要展示的内容一行文本放不下,这就需要多行文本TextView,拖拽的时候注意上界不要超过电池的小图标. 可以在属性编辑器中对多行文本的内容进行更改,按住control键和回车键换行. 运行效果如图: 如果我们把text选项的Plain改成Attributed的话,我们可以对内容进行进一步的编辑.比如大小字体和颜色等: 效果如图: 除了样式,我们再来看一下它的行为: 是否可以被编辑,是否可以选中.如果能被编辑,那么在文本框中来选中和编辑: 还有很多属性,大家可以自己试试.

dev 多行文本 MemoEdit

多行文本用MemoEdit 设置光标在最后 memoEdit1.SelectionStart = memoEdit1.Text.Length; memoEdit1.ScrollToCaret();

JAVA 图形界面swing 创建按钮、文本域

package org.rui.swin; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; import org.rui.utils.SwingConsole; public class Button1 extends JFrame{ private JButton button1=new JButton("button1"), button2=new JButton(