access vba 一个窗体上有个文本标签,鼠标放上去后变色,代码
时间: 2024-09-25 07:20:08 浏览: 39
在VBA(Visual Basic for Applications)中,你可以使用鼠标指针事件和控件样式来改变文本标签(Label)的颜色。当鼠标悬停在其上时,可以动态更改其前景颜色。下面是一个简单的示例,展示如何在Access窗体的文本标签上实现此功能:
```vba
Private Sub Form_MouseMove(Cancel As Integer)
If Not Me.Label1.HasFocus Then ' 确保不是当前焦点
Dim oldColor As Long ' 存储原来的字体颜色
oldColor = Label1.ForeColor ' 获取当前颜色
' 设置新的颜色(这里举例为蓝色,可根据需要自定义)
Label1.ForeColor = RGB(0, 0, 255) ' RGB模式下设置颜色
' 当鼠标移开时恢复原颜色
AddHandler Label1.MouseHover, AddressOf ResetLabelColor
End If
End Sub
Private Sub ResetLabelColor()
Label1.ForeColor = oldColor ' 恢复到之前存储的颜色
RemoveHandler Label1.MouseHover, AddressOf ResetLabelColor ' 移除事件处理
End Sub
```
在这个例子中,`Label1` 是你窗体上的文本标签。当鼠标移动到标签上时,`MouseMove` 事件会被触发,将标签颜色更改为蓝色;当鼠标移开时,`ResetLabelColor` 函数会清除鼠标悬浮事件并恢复原始颜色。
阅读全文