【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 换两行
【CAD】创建多行文本的更多相关文章
- CAD得到多行文本(com接口VB语言)
主要用到函数说明: MxDrawXCustomFunction::Mx_GetMTextContent 得到多行文本的,不包括格式控制符中的字符串值,详细说明如下: 参数 说明 LONG lId 多行 ...
- NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本
写在前面: 本文将创建NGUI的第一个样例.依照编程传统,第一个样例,就是做一个Hello world 显示出来.NGUI.我们用Label来实现 . 欢迎大家纠错.拍砖!原创非常辛苦,如有转 ...
- sharepoint更新多行文本webparth
前台 <script> function Copy() { var value = document.getElementById("<%=BodyBox.ClientID ...
- 禁止多行文本框textarea拖拽
禁止多行文本框textarea拖拽: textarea { resize: none; } resize这个是用于元素缩放,它可以取以下几个值: none 默认值 both 允许水平方向及垂直方向缩放 ...
- Yii console 创建命令行应用
大家都知道PHP的程序没有进程概念,而且生命周期极短,无法实现一些定时计划或者是计划任务,今天我们看看在YII框架中如何使用计划任务创建命令行应用. 1.在 console/controllers 文 ...
- python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名。
python小练习1:设计这样一个函数,在桌面的文件夹上创建10个文本,以数字给它们命名. 使用for循环即可实现: for name in range(1,11): desktop_path='C: ...
- html5 表单 填表 select 下拉 textarea多行文本 output Js计算结果
<select> 下拉 <select>下有很多属性 name 其实有name就有value了,因为button提交的都是? name=value的格式, ...
- 创建展开行明细编辑表单的 CRUD 应用
http://www.runoob.com/jeasyui/jeasyui-app-crud3.html jQuery EasyUI 应用 - 创建展开行明细编辑表单的 CRUD 应用 当切换数据网格 ...
- 3、easyUI-创建 CRUD可创建展开行明细编辑dataGrid(表格)
同样在上一节中讲到可以编辑的表格,现在讲一般用到的最后一个datagrid(表格)相关的展开明细可编辑的表格: 第三中表格主要应用场景在:列出表格信息,然后点击可以查看详细信息(此处是全部可以编辑,可 ...
随机推荐
- jeecms如何迭代list集合
[@cms_channel_list][#list tag_list as a ]${a.name} [/#list][/@cms_channel_list]使用[XXX_list] 参数为 tag_ ...
- string Format转义大括号
String.Format("{0} world!","hello") //将输出 hello world!,没有问题,但是只要在第一个参数的任意位置加上一个大 ...
- 使用 Windows Phone 8 文件和 URI 关联的自动启动应用
更详细,猛撸这里:http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/jj206987(v=vs.105).aspx 在WMApp ...
- 端口以及服务常用cmd
netstat -ano 列出所有端口的情况 netstat -aon|findstr "49157" 查出特定端口的情况 ...
- Jquery 页面元素事件绑定
场景: 用一个Table来展示数据信息列表,通过鼠标点击Table中的Tr来获取到当前选中的数据行信息. <table class="Table" width="1 ...
- 洛谷P4494 [HAOI2018]反色游戏(tarjan)
题面 传送门 题解 我们先来考虑一个联通块,这些关系显然可以写成一个异或方程组的形式,形如\(\oplus_{e\in edge_u}x_e=col_u\) 如果这个联通块的黑色点个数为奇数,那么显然 ...
- React学习笔记一
我是通过script src的方式引入的react的相关文件,本次学习顺序按照<React快速上手开发>一书的顺序学习的, 本篇博客笔记地址:http://note.youdao.com/ ...
- 2. C语言文件操作经典习题
1. 统计英文文本文件中,有多少个大写字母.小写字母.数字.空格.换行以及其他字符. #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> ...
- 基于Spring MVC的文件上传和下载功能的实现
配置文件中配置扫描包,以便创建各个类的bean对象 <context:component-scan base-package="com.neuedu.spring_mvc"& ...
- flink学习笔记-split & select(拆分流)
说明:本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKh ...