WaynesButtonState 类
描述 WaynesButton 单个视觉状态的四个样式对象组合——角、背景填充、边框和文本渲染。每个按钮有四个并行实例,分别通过 NormalState、HoverState、FocusedState 和 PressedState 访问;按钮在每次重绘时根据鼠标/焦点状态选择一个。
新构造的 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 监听此事件并请求重绘。