Skip to content

Borders 类

绘制在区域周围的边框笔触集合。每条笔触是独立的 Border 子对象,具有自己的粗细、填充和混合行为,按源顺序分层。单条细黑色轮廓是单元素集合——最简单的构建方式是调用 SetSimpleBorder

通过 <state>.BordersCellRenderingOptions.Borders 以及滑块的 <sliderState>.BackgroundBorders / BlockBorders 访问。TextRenderingOutlines 成员上的 Border 子对象数组使用相同的元素类型。

vb
btnGo.NormalState.Borders.SetSimpleBorder StrokeSize:=1, ColorRGB:=vbBlack

分层边框——按顺序绘制多条 Border 实例——直接赋给 Elements 数组。每个元素可以有自己的 StrokeSizeFill,因此细黑轮廓可以位于宽彩色带之上,或三条不同颜色的色带叠加形成"阴影":

vb
Dim elems(0 To 2) As Border
Set elems(0) = New Border
elems(0).StrokeSize = 4
elems(0).Fill.ColorPoints.SetSolidColor vbBlack
Set elems(1) = New Border
elems(1).StrokeSize = 7
elems(1).Fill.ColorPoints.SetSolidColor &H99CCFF       ' light blue band
Set elems(2) = New Border
elems(2).StrokeSize = 4
elems(2).Fill.ColorPoints.SetSolidColor &H4D7AB4       ' deeper blue
btnGo.NormalState.Borders.Elements = elems

单个 Border 也可以显示渐变而非纯色——为其 Fill 成员赋多 stop Fill。在半透明边框上将 BlendWithBackgroundFill 设为 True 可使其与控件自身的 BackgroundFill 混合而非与控件下方的内容混合。

属性

Elements

Border 子对象数组,从索引 0 向外按顺序绘制。可读写,但实际上通过 SetSimpleBorderSetSimpleBorderRGBA 填充。

方法

SetSimpleBorder

用给定粗细和完全不透明颜色的单条边框笔触替换 Elements 数组。

语法:object.SetSimpleBorder StrokeSize, ColorRGB

StrokeSize
必需 Long,给出笔触粗细(像素)。
ColorRGB
必需 Long RGB 颜色,用于笔触填充。

SetSimpleBorderRGBA

用单条边框笔触替换 Elements 数组,其 alpha 取自提供的 ColorRGBA 而非强制不透明。适用于仅作为视觉内边距存在的透明边框(滑块在 BlockBorders 上使用完全透明边框以在背景内缩进滑块)。

语法:object.SetSimpleBorderRGBA StrokeSize, ColorRGBA

StrokeSize
必需 Long,给出笔触粗细(像素)。
ColorRGBA
必需 ColorRGBA 值,用于笔触填充。

事件

OnChanged

Elements 数组被重新赋值或任一 Border 元素触发其自身的 OnChanged 时触发。

Border 类

单条边框笔触。Borders.Elements 的元素,也是 TextRendering.Outlines 的元素。

BlendWithBackgroundFill

True 时,边框颜色与控件的 BackgroundFill 进行 alpha 混合而非与控件下方绘制的内容混合。使半透明边框颜色使用背景色调而非窗体的颜色。Boolean。默认:False

Fill

提供用于绘制边框的颜色或渐变的 Fill。新构造的 Border 对象将其预设为纯黑色填充。

StrokeSize

笔触粗细(像素)。PixelCount。默认:1。

New

用默认纯黑色 Fill 构造 Border

语法:New Border

OnChanged

StrokeSizeFillBlendWithBackgroundFill 被赋值时,或包含的 Fill 触发其自身的 OnChanged 时触发。

twinBASIC及其LOGO版权为作者"韦恩"所有