TextRendering 类
聚合在控件内绘制一段文本所需的一切:字体、内边距、提供文本颜色的填充、可选的轮廓数组、可用区域内的对齐以及溢出行为。通过 <state>.TextRendering、WaynesLabel.TextRendering 和 CellRenderingOptions.TextRendering 访问。
新构造的 TextRendering 将其 Fill 预设为纯黑色,使文本立即可见。
With lblTitle.TextRendering
.Font.Size = 18
.Font.Weight = tbBold
.Alignment = tbAlignMiddleCenter
.Fill.ColorPoints.SetSolidColor vbWhite
End WithFill 可以像纯色一样持有渐变,因此字形本身可以绘制上到下或角到角的颜色过渡。Outlines 是围绕字形绘制的 Border 元素数组——单条细黑轮廓产生"贴纸"外观;用不同 StrokeSize 值分层多条轮廓产生发光或投影效果:
With lblBanner.TextRendering
.Font.Size = 32
.Font.Weight = tbBold
.Alignment = tbAlignMiddleCenter
.Fill.SetSimplePattern vbWhite, &HCCCCFF, _
Pattern:=tbGradientNorthToSouth
Dim outline(0 To 0) As Border
Set outline(0) = New Border
outline(0).StrokeSize = 2
outline(0).Fill.ColorPoints.SetSolidColor vbBlack
.Outlines = outline
End With将 OverflowMode 设为 tbShrinkToFit 可在文本过长超出可用宽度时缩小字形而非用省略号截断——适用于宽度固定的标签,其标题由运行时从不可预测长度的数据设置。
属性
Alignment
文本在可用区域内(在 Padding 应用后)的水平和垂直定位。TextAlignment 的成员。默认:tbAlignMiddleCenter。
Fill
提供文本颜色或渐变的 Fill。构造时预设为纯黑色填充。
Font
给出字体大小、粗细、斜体/下划线/删除线标志的 FontStyle 子对象。
OverflowMode
超出可用宽度的文本如何截断。TextOverflowMode 的成员。默认:tbAppendEllipsis。
Outlines
描述围绕渲染字形绘制的一条或多条轮廓的 Border 元素数组。可读写;未初始化数组表示无轮廓。
Padding
持有在文本边界矩形内围绕文本插入的逐侧内边距的 Padding 子对象。Alignment 应用于带内边距的区域。
事件
OnChanged
Alignment 或 OverflowMode 被赋值时、Outlines 被替换或其任一元素触发 OnChanged 时、或 Font、Padding 或 Fill 触发自身的 OnChanged 时触发。
FontStyle 类
控制 TextRendering 如何布局文本的字体度量。通过 TextRendering.Font 访问。
Italic
当 True 时,字形以斜体样式渲染。Boolean。默认:False。
Size
字体大小(排版磅)。PointSize。默认:12。
Strikeout
当 True 时,在每个字形中间绘制水平删除线。Boolean。默认:False。
Underline
当 True 时,在每个字形下方绘制下划线。Boolean。默认:False。
Weight
OpenType wght 刻度上的字体粗细。FontWeight 的成员。默认:tbNormal。
OnChanged
五个字体样式字段中任一个被赋值时触发。父 TextRendering 监听此事件并重新触发自身的。