在 '重画控件
Private Sub ReDraw() 中接
'-------------------------------------
'开始绘制按钮了。img(mState):图片是用
'Image 控件组存放的,根据 mState 的值
'调用相应的图片进行绘制。
'-------------------------------------
这部分之后

程序代码:
'****************************
'如果状态BS_Point 或 BS_Pres时,鼠标在按钮上,显示关闭图片
'***************************
Dim lpPoint As POINT_API
If mState = BS_Point Or mState = BS_Press Then
GetCursorPos lpPoint
ScreenToClient .hwnd, lpPoint
If lpPoint.X < .ScaleLeft + .ScaleWidth - Image1(0).Width Or lpPoint.X > .ScaleLeft + .ScaleWidth Or _
lpPoint.Y < .ScaleTop Or lpPoint.Y > .ScaleTop + Image1(0).Height Then
'显示关闭按钮
.PaintPicture Image1(1), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
Else
.PaintPicture Image1(0), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
End If
End If
第二部分
在
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'移动鼠标
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
这个过程中:
放在 End With 之前

程序代码:
'鼠标移动时变动关闭按钮图标
If X < .ScaleLeft + .ScaleWidth - Image1(0).Width Or X > .ScaleLeft + .ScaleWidth Or _
Y < .ScaleTop Or Y > .ScaleTop + Image1(0).Height Then
'显示关闭按钮
.PaintPicture Image1(1), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
Else
.PaintPicture Image1(0), .ScaleLeft + .ScaleWidth - Image1(0).Width - 2, 2
End If