1. 顽石财经首页
  2. 专题归档

VBA窗体按钮批量指定鼠标的MOVE事件

'放置位置:窗体
'声明一个类的实例,不过它是一个数组,包含6个成员
Dim Buttons(1 To 6) As New ButtonClass
Private Sub UserForm_Initialize() '加载窗体时触发此事件
    For j = 1 To 6 '从1到6(对应于6个按钮)
        '分别将6个按钮关联到类Buttons,这是一个数组,包括6个按钮实例
        '执行此Set语句后,窗体中的每个按钮都可以调用类模块中的“按钮_MouseMove”事件过程了
        Set Buttons(j).按钮 = Controls("CommandButton" & j)
    Next
End Sub
'放置位置:类模块
'声明一个窗体按钮专用的类,变量名称为“按钮”,类型为“MSForms.CommandButton”
Public WithEvents 按钮 As MSForms.CommandButton
'“按钮”所代表的对象的MouseMove事件,即鼠标移过“按钮”时触发的事件
Private Sub 按钮_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
    For j = 1 To 6   '从1到6
    '如果窗体中的名为“"CommandButton" & j”的控件名称不等于变量“按钮”的名称
    If Userform1.Controls("CommandButton" & j).Name <> 按钮.Name Then
            '那么将此控件的背景色设置为灰色,即代码&H8000000F
            Userform1.Controls("CommandButton" & j).BackColor = &H8000000F
        Else '否则(即窗体中名为“"CommandButton" & j”的控件名称等于变量“按钮”的名称时)
            '将此控件的背景色设置为浅蓝色,即代码&HFF8080
            Userform1.Controls("CommandButton" & j).BackColor = &HFF8080
        End If
    Next
End Sub

本文来自用户投稿,不代表顽石财经立场;如侵犯了您的权益,请与本站联系;如若转载,请注明出处:https://www.rocknod.com/1354.html

发表评论

登录后才能评论
QR code