Skip to content

WaynesButtonState 类

描述 WaynesButton 单个视觉状态的四个样式对象组合——角、背景填充、边框和文本渲染。每个按钮有四个并行实例,分别通过 NormalStateHoverStateFocusedStatePressedState 访问;按钮在每次重绘时根据鼠标/焦点状态选择一个。

新构造的 WaynesButtonState 对象预设 BackgroundFill 为纯中蓝色,四个角为 15 像素曲线。按状态覆盖以使按钮在不同状态下呈现不同外观。

该类型本身为 Private Class——实例只能通过 WaynesButton.…State 属性访问,无法在包外声明 WaynesButtonState 类型的变量。

vb
With btnGo.NormalState
    .BackgroundFill.ColorPoints.SetSolidColor vbBlue
    .TextRendering.Fill.ColorPoints.SetSolidColor vbWhite
End With

With btnGo.HoverState
    .BackgroundFill.SetSimplePattern vbBlue, &HE0E0FF, _
            Pattern:=tbGradientNorthToSouth
    .Borders.SetSimpleBorder StrokeSize:=2, ColorRGB:=vbBlue
End With

属性

BackgroundFill

绘制按钮背景的 Fill

Borders

绘制按钮边框笔触的 Borders

Corners

控制逐角形状和半径的 Corners

TextRendering

控制按钮 Caption 绘制方式的 TextRendering

方法

InitializeDefaults

将状态对象重置为包的默认值——纯中蓝色 BackgroundFill 和 15 像素曲线角。如果未加载序列化数据,则在父按钮首次初始化时自动调用。

语法:object.InitializeDefaults

事件

OnChanged

四个包含的样式对象中任一个触发其自身的 OnChanged 时触发。父 WaynesButton 监听此事件并请求重绘。

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