Appearance
这里的对象指的是在 报表设计器环境下,可以拖放和设置属性,最终影响到报表呈现的内容的报表组成元素,我们称之为 对象 。
第10章 对象概览

| 名称 | 描述 |
|---|---|
| Text | 包含多行文本的矩形框,文本允许包含变量 |
| Band | 条状区域,定义区域包含的最终报表的位置 |
| Picture | 显示BMP、ICO、WMF、EMF和JPG图像 |
| SubReport | 创建子报表,插入时在报表中增加一个新页面 |
| Line | 画垂直或水平线条 |
| Shadowed text | 带阴影和渐变色填充的文本 |
| Barcode | 用条形码显示数据 |
| Shape | 插入几何图形(矩形、圆角矩形、椭圆、三角形) |
| CheckBox | 用检查框或X显示逻辑数据 |
| RichText | 插入RTF文档 |
| OLE | 插入OLE对象 |
| Chart | 插入图表(需安装TeeChart) |
| RichText 2.0 | 类似RichText,但允许图像和OLE对象插入RTF文本中 |
第11章 Text对象详解
这是ReportMachine中最强大、最灵活的对象。
11.1 快速掌握
“文本框”对象是报表机器中最强大、最灵活和使用最频繁的对象。它是一个包含多行文本的矩形框。你可以为它设置边框的类型、颜色和宽度;以及字体属性、文本对齐方式和字体方向(垂直或水平)。要设置对象的属性,使用“文本”和“边框”工具栏:
“文本框”对象的内容主要由:文本,变量,数据字段,或这些的任意组合组成。
修改“文本框”对象最快速的方法是在报表编辑设计器中选择“文本框”矩形(点击它)并双击,将出现文本编辑器对话框。
例如,我们在图-21的标题区域中再插入一个文本框,文本框内容是:发货单
11.2 专业学习
主要提供一个包含多行文本的矩形框,可设置边框的类型、颜色和宽度,以及字体属性、文本对齐方式和字体方向。
Text对象的内容可以包含:文本、变量、数据字段,或这些的任意组合。
使用示例:
宽度,cm:[Length]—— 使用变量显示固定文本宽度,cm:[Table1."Length_cm"]—— 使用数据字段显示固定文本宽度,cm:[[Length inch]*2.54]—— 使用变量表达式
修改Text对象最快速的方法是在报表编辑设计器中选择矩形并双击,出现文本编辑器对话框。
编辑器工具栏按钮:
- 插入表达式
- 插入数据字段
- 剪贴板操作
- 自动换行选项
- 脚本编辑选项
- 取消按钮
- 确认按钮
快捷键:
- Insert —— “变量”按钮,显示变量对话框
- Ctrl+Enter —— “确认”按钮
- Esc —— “取消”按钮
DisplayFormat属性:在对象编辑器中点击Text对象的“DisplayFormat”属性可编辑格式。格式选项包括:无格式、数值、日期、时间或逻辑格式。
«#»标记格式化:
x.x或Nx.x—— 数值格式Dxxxxx,Txxxxx—— 日期和时间格式Bxxxxx;yyyyy—— 逻辑格式
示例:

条件加亮:点击格式工具栏的按钮,在编辑框中输入条件(如Value > 1000)。
Text对象右键菜单选项:
- 伸展 —— 对象高度根据变量实际高度调整
- 自动折行 —— 长字符串自动折为多行
- 自动宽度 —— 画之前才计算实际宽度
- 仅文本 —— 不处理对象中的变量
- 禁止重复值 —— 不显示重复的值
附加属性:
- CharSpacing —— 字符间距
- GapX, GapY —— 左边和顶部间隔
- LineSpacing —— 行间距

11.3 函数的使用方法
我们往往需要在 代码中对显示的内容进行各种处理,下面介绍函数的使用方法。
打开前面我们介绍的文本编辑器,点表达式,选择函数,将打开函数对话框,如下图所示

我们也以一个例子来说明怎样使用函数
我们希望将图-8所示的报表中金额总计小写转换为大写(使用 CurToBigNum函数)。
双击“金额总计大写”文本框,在打开的文本编辑框中选择“表达式”,在表达式编辑框中点函数,打开函数选择对话框,在这里请按图-9所示选择函数,选择函数后点“继续”,将弹出下图

按图提示操作完后,将弹出“输入参数”对话框,请点“数据类型”,为此函数选择统计数据即可
第12章 Band对象详解
ReportMachine是一个基于区域的报表生成器,在报表上放置区域,然后在区域放置数据。
注意:区域并不是按照报表设计器中的顺序出现,区域类型决定它们在最终报表中的位置。
Band类型列表:
你点击这个按钮,然后到页面区域放下,系统会提问 ,让我们选择Band类型

| 名称 | 何时何地 |
|---|---|
| 报表标题 | 打印在打印报表之初 |
| 报表合计 | 打印在报表结束时 |
| 页头 | 打印在每页顶部 |
| 页脚 | 打印在每页底部 |
| 主项头 | 打印在第一个数据层开始 |
| 主项数据 | 第一层数据——重复每个主项数据记录 |
| 主项脚 | 打印在第一个数据层结束 |
| 细项头 | 打印在第二个数据开始 |
| 细项数据 | 第二层数据——重复每个细项数据记录 |
| 细项脚 | 打印在第二个数据层结束 |
| 子细项头 | 打印在第三层数据开始 |
| 子细项数据 | 第三层数据——重复每个子细项数据记录 |
| 子细项脚 | 打印在第三个数据层结束 |
| 覆盖 | 打印在每页的最底层(用于打印水印) |
| 栏目头 | 打印在栏目开始 |
| 栏目脚 | 打印在栏目结束 |
| 分组头 | 组标题打印在分组开始 |
| 分组脚 | 打印在分组后 |
| 交叉表头/数据/脚 | 用于创建交叉表,报表上可变栏目 |
| 子栏 | 能追加到其它任何类型的区域(交叉表和页脚除外),显示在父区域之后 |
Band右键快捷菜单选项:
- 伸展 —— 区域高度由区域中的对象高度决定
- 分隔 —— 在页面未满之前报表新页面
- 强迫换页 —— 强迫区域内容打印在新页面
- 在第一页 —— 区域将打印在第一页(仅适用于页头和页脚)
- 在末页 —— 区域将打印在末页(仅适用于页脚)
- 在所有页重复 —— 用于主项头、细项头等,若数据强制到新页,这些头也出现在那些页面中
不同类型的Band 属性可设置项目,也会有所不同。

第13章 其它对象详解
13.1 Image对象
用于插入图像到报表。支持BMP/WMF/ICO,JPG和GIF也可插入。
快捷菜单选项:
- 伸展 —— 图像伸展到整个矩形区
- 锁定纵横比 —— 缩放时保护比例
- 居中 —— 图像在矩形区中居中
- Blob类型 —— BLOB流类型:BMP、WMF、ICO或JPG
13.2 SubReport对象
作为在一个报表中特定位置插入附加报表的占位符。Subreport中的报表打印必须在主报表中的单独页。
限制:
- 不能使用分栏
- 下列区域能用于Subreport:报表标题、报表合计、页头、页脚、栏XXX区域
- 不能使用区域暂停
- Subreport中不能使用分组
13.3 Line对象
用于插入水平线或垂直线到报表。
13.4 CheckBox对象
用于图形显示逻辑数据,只能联接到逻辑变量或数据字段。True显示叉,False为空。
注意:TRMCheckBoxObject组件必须插入到同一个窗体中。
13.5 RichText对象
用于打印RTF文档。当需要格式化文本而Text对象不能满足时使用。
变量可插入到格式化文本中,必须加上方括号。
注意:TRMRichObject对象必须放置到同一个窗体中。
13.6 OLE对象
用于插入OLE对象到报表中。
注意:TRMOLEObject对象必须放置到同一个窗体中。
13.7 Chart对象
用于在报表中插入图表,特别适用于销售图表。
图表编辑器类型页选项:
- 3D —— 显示3维图表
- 单线
- 显示图例
- 显示轴(不能用于饼图)
- 显示标记
- 多色显示
注意:TeeChart控件必须已安装。TRMChartObject控件必须放在窗体上。
13.8 Shape对象
用于插入几何图形(矩形、圆角矩形、椭圆、三角形)。
注意:TRMShapeObject控件必须放在窗体上。
13.9 Barcode对象
用于打印条形码。
支持的条形码格式:
- 2 of 5 interleaved
- Code39, Code39 Extended
- Code128A-C
- Code93, Code93 Extended
- MSI, PostNet, Codebar
- EAN8, EAN13, EAN128A-C
- UPC A, E0, E1, Supp2, Supp5
提示:若条形码四周需要空白区,设置FrameTyp为15,FrameWidth为6.00,FrameColor为clWhite。
注意:TRMBarcodeObject控件必须放在窗体上。
13.10 RichText 2.0对象
基于RX Rich控件,允许在RTF文本中包含OLE对象和图像。
注意:TRMRxRichObject控件必须放在窗体上。
13.11 Page 对象
我们点击页面的时候,可以设置当前的页面对象属性。

其中一个特别有用的属性是 背景图 ,在我们需要套打的时候,我们可以对空白表达拍照,然后把图片设置为背景,之后预览效果OK了,再删除背景图片,从而实现套打模型。
