Private Sub Form_Load() Dim Count As Integer For Count = 0 To 3 ’请将此出的3换成你的LblBtn数量的个数-1 LblBtn(Count).BackColor=LBL_BACK_COLOR ’初始化LblBtn的背景 Next Count End Sub
然后再在LblBtn的MouseMove和MouseDown事件中来搞定剩余部分:
Private Sub LblBtn_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) ’当鼠标按在LblBtn上时 LblBtn(Index).BackColor = LBL_WHEN_MOUSE_DOWN ’临时改变LblBtn背景颜色 End Sub Private Sub LblBtn_MouseMove(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) ’鼠标在LblBtn上面移动时触发该事件 Dim Count As Integer DoEvents ’暂时将系统控制权教给系统 If Button Then Exit Sub ’如果按钮被按下就退出该过程 For Count = 0 To 3 If Count <> Index Then ’如果按下的不是其它按钮 LblBtn(Index).BackColor = LBL_BACK_COLOR ’将背景设为正常 Else LblBtn(Index).BackColor = LBL_WHEN_MOUSE_MOVE ’将背景设为鼠标移动的背景 End If Next Count End Sub Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Dim Count As Integer DoEvents For Count=0 To 3 LblBtn(Count).BackColor=LBL_BACKCOLOR ’恢复背景 Next Count End 本来利用Windows的消息系统来完成这一“艰巨”的任务最简单,可问题就来了,Label控件没有窗口句柄怎么办?可是此问题与题无关,写了会有骗稿费之:) OK,Label控件就讲到这里,在来说说TextBox控件,
千万不要设置ScrollBars属性,否则会影响效果 在Form的Load事件中初始化TextBox Dim bkColor As Long Private Sub Form_Load() bkColor=RGB(235,235,235) Text1.BackColor=bkColor End Sub 在Form和Text1的MouseMove事件中: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Text1.BorderStyle = 0 End Sub