4d-database - 在 4D Write Pro (4D v17 R5) 中以编程方式设置文本样式
问题描述
我正在尝试在同样以编程方式创建的 4D Write Pro 文档中以编程方式设置两种文本样式,但最后一个样式集是整个文档唯一假定的样式。
我创建了一个新的 4D Write Pro 文档 (wpDoc),为整个文档创建了一个范围 ($range),并使用“WP Set Attributes”来格式化文本。
C_OBJECT(wpDoc;$range)
wpDoc:=WP New
$range:=WP Text range(wpDoc;wk start text;wk end text)
// Style 1
WP SET ATTRIBUTES($range;wk font;"DIN-Bold")
WP SET ATTRIBUTES($range;wk font size;"12pt")
WP SET TEXT($range;"Name: ";wk append)
// Style 2
WP SET ATTRIBUTES($range;wk font;"DIN-Regular")
WP SET ATTRIBUTES($range;wk font size;"10pt")
WP SET TEXT($range;[Companies]Name;wk append)
WP PRINT(wpDoc)
它应该看起来像:
名称:样本公司名称
但它显示如下:
名称(纯文本):示例公司名称(纯文本)
解决方案
由于您的范围随着您附加的文本而增长,因此您需要更改您的范围。以下代码对我有用。
您应该确认您的字体存在,否则属性命令将无效(FONT LIST)。我切换到我知道我的系统有的字体。
'WP Text range' 在我使用的版本中无效(也许你有一个旧版本。我使用的是 v17.3)。我的代码使用“WP 创建范围”。
C_OBJECT(wpDoc;$range)
wpDoc:=WP 新
$range:=WP 创建范围(wpDoc;wk start text;wk end text)
// 样式 1
WP SET TEXT($range;"Name: ";wk append)
WP SET ATTRIBUTES($range;wk font;"Book Antiqua Bold")
WP SET ATTRIBUTES($range;wk 字体大小;"12pt")
// 样式 2
$range:=WP 创建范围(wpDoc;7;wk 结束文本)
WP SET TEXT($range;[Companies]Name;wk append)
WP SET ATTRIBUTES($range;wk font;"Book Antiqua")
设置打印预览(真)
WP 打印(wpDoc)
推荐阅读
- python - 约束在使用 Scipy 的优化中不起作用
- sharepoint - Kendo React SharePoint Peoplepicker
- class - 我在 Kotlin 的绘画类的文档中找不到绘画属性的名称
- oracle - Oracle 集成云中的 APIInvocationError
- javascript - 如何处理 monorepo 中的 css 中断?
- python - Python。使用定义的函数后,我无法调用该函数正在运行的变量
- java - 在 Jetty 上配置 SSL
- android - 如何更改导航抽屉android的背景颜色?
- python - Azure Eventhub Python SDK:来自所有分区的时间窗口中的所有内容
- node.js - Express,从 pons API 获取数据