要在文档中创建文本元素,请创建一个 OdBmTextNote 类对象并将其添加到数据库中。
文本注释使用常规元素接口在数据库中创建和注册;您只需定义文本特有的数据。以下是定义文本元素的主要属性:
- 添加文本的视图
- 文本
- 位置
- 方向
- 宽度
可以使用以下接口设置此数据:
- setOwnerDBViewId(OdBmObjectId) — 接口继承自 Element,定义创建文本元素的视图。将元素添加到数据库后,视图 ID 不得更改。
- setRawText(OdString&) — 从原始文本字符串设置文本。
- setRtfText(OdAnsiString&) — 从 RTF 文本字符串设置文本。
- setOrigin(OdGePoint3d) — 设置文本的原点。根据文本对齐原点,它是文本左/中/右顶/中/底部的点。例如,对于左水平对齐和顶部垂直对齐,原点是左上角点。
- setVertAlign(OdBm::VerticalAlignment::Enum) — 设置垂直对齐方式。
- setHorzAlign(OdBm::HorizontalAlignment::Enum) — 设置水平对齐方式。
- setDirection(OdGeVector3d) — 设置文本的水平方向。文本的垂直方向是根据水平方向的设置,使用视图方向作为法线自动计算的。
- setWidth(double) — 设置文本的宽度。如果此宽度小于一行文本的宽度,则文本将换行。
- setKeepReadable(bool) — 设置保持可读模式。如果启用,文本始终从左到右(如果平行于 y 轴,则从下到上)绘制。如果此标志打开的文本方向是从右到左或从上到下,则在渲染时文本将旋转 180 度。
- setType(OdBmObjectId) — 设置文本注释类型 ID。ID 参数必须指向 OdBmTextNoteAttributes 对象,否则该方法将返回 eInvalidInput 错误。
- setLeaderLeftAttachment(OdBm::LeaderAttachment::Enum) — 设置左引线附件位置。
- setLeaderRightAttachment(OdBm::LeaderAttachment::Enum) — 设置右引线附件位置。
默认值
除了文本,所有其他属性都是可选的。如果您在将文本元素添加到数据库之前未设置它们,它们将填充默认值:
- 视图 ID 设置为活动视图的 ID。
- 原点设置为 (0, 0, 0)。
- 文本对齐方式设置为左/上。
- 方向设置为视图的右方向。
- 宽度设置为不换行的文本宽度。
- 左引线附件设置为顶线。
- 右引线附件设置为底线。
示例
OdBmTextNotePtr pTextNote3 = OdBmTextNote::createObject();
zpTextNote3->setOrigin(OdGePoint3d::kOrigin);
pTextNote3->setVertAlign(OdBm::VerticalAlignment::Middle);
pTextNote3->setHorzAlign(OdBm::HorizontalAlignment::Center);
pTextNote3->setDirection(OdGeVector3d::kXAxis);
pTextNote3->setRawText(L"Text line 1\nLine2");
pTextNote3->setKeepReadable(true);
pDb->addElement(pTextNote3);