当前窗口上有一个imgstate,其中的图片表示播放器的状态,有四种状态为播放按钮时:正常状态(play.gif),鼠标放上(play-a.gif),鼠标按下(play-p.gif),不可用(play-d.gif)为暂停按钮时:正常状态(pause.gif),鼠标放上(pause-a.gif),鼠标按下(pause-p.gif),不可用(pause-d.gif)括号中的为当前目录下的gif文件现在的要求是:程序打开时,为暂停按钮正常状态,鼠标在图片上移动时为暂停鼠标放上状态,按下时为鼠标按下状态,鼠标释放时,lblstate.Caption = "暂停",并把imgstate中的图片换成播放按钮,具体状态同上,此时单击此按钮并鼠标释放鼠标时,lblstate.Caption = "播放",以此类推!另外在程序中检测变量uselessplay和uselesspause的值,如果uselessplay=true,则播放按钮为不可用,并且不响应鼠标事件;如果uselesspause=true,则暂停按钮为不可用,并且不响应鼠标事件,内容有点多,希望高手多多指点,小弟在此谢过,只有100分,全部给了,回复的朋友,下次我一定多给分,谢谢了!
没说什么问题???
鼠标点击事件更改第一个变量,鼠标移动和uselessplay和uselesspause变化时更改第二个变量。
按照下标显示图片。
imgstate_Mousemove'鼠标放上
imgstate_MouseDown'鼠标按下
imgstate_Mouseup'鼠标放开
在 Form_MouseMove 事件中把图片设为正常状态在判断imgstate 的enabled属性 当enabled为false 时 为不可用图片
Option ExplicitPrivate picImgs(7) As StdPicture
Private useLessplay As Boolean, useLesspause As Boolean
Private lPlaySta As LongPrivate Sub Form_Load() useLessplay = True
useLesspause = False
Dim i&
'picImgs() 0 ~ 3 是 播放状态图片
'picImgs() 4 ~ 7 是 暂停状态图片
'图片顺序是 正常、鼠标移上、鼠标按下、禁用
'楼主的图片名称,要用8条语句加载图片
For i = 0 To 7
Set picImgs(i) = LoadPicture("X:\Temp\p0" & i + 1 & ".jpg")
Next
lPlaySta = 4: Image1.Picture = picImgs(lPlaySta)End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If (lPlaySta = 0) Then
Image1.Picture = picImgs(CLng(useLessplay) And 3)
Else
Image1.Picture = picImgs(lPlaySta Or CLng(useLesspause) And 3)
End IfEnd SubPrivate Sub Image1_Click()
If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
lPlaySta = lPlaySta Xor 4
If (lPlaySta = 4) Then
Image1.Picture = picImgs(lPlaySta Or CLng(useLesspause) And 3)
Else
Image1.Picture = picImgs(lPlaySta Or CLng(useLessplay) And 3)
End IfEnd SubPrivate Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If (Button <> 1) Then Exit Sub
If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
Image1.Picture = picImgs(lPlaySta Or 2)End SubPrivate Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
Image1.Picture = picImgs(lPlaySta Or 1)End Sub
Option ExplicitPrivate picImgs(7) As StdPicture
Private useLessplay As Boolean, useLesspause As Boolean
Private lPlaySta As LongPrivate Sub Form_Load()
'useLessplay = True
'useLesspause = False
Dim i&
'picImgs() 0 ~ 3 是 播放状态图片
'picImgs() 4 ~ 7 是 暂停状态图片
'图片顺序是 正常、鼠标移上、鼠标按下、禁用
'楼主的图片名称,要用8条语句加载图片
For i = 0 To 7
Set picImgs(i) = LoadPicture("X:\Temp\p0" & i + 1 & ".jpg")
Next
lPlaySta = 4: Image1.Picture = picImgs(lPlaySta)
End SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (lPlaySta = 0) Then
Image1.Picture = picImgs(CLng(useLessplay) And 3)
Else
Image1.Picture = picImgs(lPlaySta Or CLng(useLesspause) And 3)
End If
End SubPrivate Sub Image1_Click()
If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
lPlaySta = lPlaySta Xor 4
If (lPlaySta = 4) Then
Image1.Picture = picImgs(lPlaySta Or CLng(useLesspause) And 3)
Else
Image1.Picture = picImgs(lPlaySta Or CLng(useLessplay) And 3)
End If
End SubPrivate Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (Button <> 1) Then Exit Sub
If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
Image1.Picture = picImgs(lPlaySta Or 2)
End SubPrivate Sub Image1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If (lPlaySta = 0) Then
If (useLessplay) Then Exit Sub
Else
If (useLesspause) Then Exit Sub
End If
Image1.Picture = picImgs(lPlaySta Or 1)
End Sub