⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.frm

📁 vb 写的播放器 对新的开发者很有用。写的不错。非常实际
💻 FRM
📖 第 1 页 / 共 4 页
字号:

Private Sub Skin_cbuttons1_4_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Skin_cbuttons1.hDC, 69, 0, 24, 20, Skin2.hDC, 69, 18, SRCCOPY
Skin_cbuttons1.Refresh
End Sub
Private Sub Skin_cbuttons1_4_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
BitBlt Skin_cbuttons1.hDC, 69, 0, 24, 20, Skin2.hDC, 69, 0, SRCCOPY
Skin_cbuttons1.Refresh
If y >= 0 And y <= Skin_cbuttons1_1.Height And x >= 0 And x <= Skin_cbuttons1_1.Width Then
 BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 18, 0, SRCCOPY
 Playpaus.Refresh
 
 CloseIt

End If
End Sub

Private Sub Skin_cbuttons1_5_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Skin_cbuttons1.hDC, 92, 0, 24, 20, Skin2.hDC, 92, 18, SRCCOPY
Skin_cbuttons1.Refresh
End Sub
Private Sub Skin_cbuttons1_5_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
BitBlt Skin_cbuttons1.hDC, 92, 0, 24, 20, Skin2.hDC, 92, 0, SRCCOPY
Skin_cbuttons1.Refresh
If y >= 0 And y <= Skin_cbuttons1_1.Height And x >= 0 And x <= Skin_cbuttons1_1.Width Then
 BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 0, 0, SRCCOPY
 Playpaus.Refresh
 NextMusic

End If
End Sub

Private Sub Skin_cbuttons2_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Skin_cbuttons2.hDC, 0, 0, 24, 20, Skin2.hDC, 114, 16, SRCCOPY
Skin_cbuttons2.Refresh
End Sub
Private Sub Skin_cbuttons2_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
BitBlt Skin_cbuttons2.hDC, 0, 0, 24, 20, Skin2.hDC, 114, 0, SRCCOPY
Skin_cbuttons2.Refresh
If y >= 0 And y <= Skin_cbuttons2.Height And x >= 0 And x <= Skin_cbuttons2.Width Then
 AddSong

End If
End Sub

Private Sub Skin_shuffle_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
ClearSonButton
MainfrmAct
If ShuffleFlag = True Then
 BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 15, SRCCOPY
 Skin_shuffle.Refresh
Else
 BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 45, SRCCOPY
 Skin_shuffle.Refresh
End If
End Sub
Private Sub Skin_shuffle_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If ShuffleFlag = True Then
 If y >= 0 And y <= Skin_shuffle.Height And x >= 0 And x <= Skin_shuffle.Width Then
  BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 30, SRCCOPY
  Skin_shuffle.Refresh
  Skin_shuffle.ToolTipText = "随机播放"
  MenuFrm.MainfrmMenu_随机播放.Checked = True
  MenuFrm.TrayMenu_随机播放.Checked = True
  ShuffleFlag = False
 Else
  BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 0, SRCCOPY
  Skin_shuffle.Refresh
 End If
Else
 If y >= 0 And y <= Skin_shuffle.Height And x >= 0 And x <= Skin_shuffle.Width Then
  BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 0, SRCCOPY
  Skin_shuffle.Refresh
  Skin_shuffle.ToolTipText = "顺序播放"
  MenuFrm.MainfrmMenu_随机播放.Checked = False
  MenuFrm.TrayMenu_随机播放.Checked = False
  ShuffleFlag = True
 Else
  BitBlt Skin_shuffle.hDC, 0, 0, 100, 20, Skin4.hDC, 28, 30, SRCCOPY
  Skin_shuffle.Refresh
 End If
End If
End Sub

Private Sub Skin_rep_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
If RepFlag = True Then
 BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 15, SRCCOPY
 Skin_rep.Refresh
Else
 BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 45, SRCCOPY
 Skin_rep.Refresh
End If
End Sub
Private Sub Skin_rep_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If RepFlag = True Then
 If y >= 0 And y <= Skin_rep.Height And x >= 0 And x <= Skin_rep.Width Then
  BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 30, SRCCOPY
  Skin_rep.Refresh
  Skin_rep.ToolTipText = "循环播放"
  MenuFrm.MainfrmMenu_循环播放.Checked = True
  MenuFrm.TrayMenu_循环播放.Checked = True
  RepFlag = False
 Else
  BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 0, SRCCOPY
  Skin_rep.Refresh
 End If
Else
 If y >= 0 And y <= Skin_rep.Height And x >= 0 And x <= Skin_rep.Width Then
  BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 0, SRCCOPY
  Skin_rep.Refresh
  Skin_rep.ToolTipText = "非循环播放"
  MenuFrm.MainfrmMenu_循环播放.Checked = False
  MenuFrm.TrayMenu_循环播放.Checked = False
  RepFlag = True
 Else
  BitBlt Skin_rep.hDC, 0, 0, 100, 20, Skin4.hDC, 0, 30, SRCCOPY
  Skin_rep.Refresh
 End If
End If
End Sub

Private Sub Timer1_Timer()
MakeSongWord.ShowSongWord
End Sub

Private Sub Timer2_Timer()
If Label1.Caption = "" Then Exit Sub
a = Label1.Caption
b = Mid(a, 2, Len(a) - 1)
Label1.Caption = b & Left(a, 1)
End Sub

Private Sub TitleBarButton_MouseDown(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
Select Case Index
 Case 0 '关闭按钮
  BitBlt Skin_TitleBar.hDC, 264, 3, 9, 9, Skin3.hDC, 18, 9, SRCCOPY
  Skin_TitleBar.Refresh
 
 Case 1 '精简按钮
  If SimpleFlag1 = True Then
   BitBlt Skin_TitleBar.hDC, 254, 3, 9, 9, Skin3.hDC, 9, 18, SRCCOPY
   Skin_TitleBar.Refresh
  Else
   BitBlt Skin_TitleBar.hDC, 254, 3, 9, 9, Skin3.hDC, 9, 27, SRCCOPY
   Skin_TitleBar.Refresh
  End If
 
 Case 2 '最小化
  BitBlt Skin_TitleBar.hDC, 244, 3, 9, 9, Skin3.hDC, 9, 9, SRCCOPY
  Skin_TitleBar.Refresh
 
 Case 3 '打开
  AddSong

 Case 4 '下一首
  BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 0, 0, SRCCOPY
  Playpaus.Refresh
  NextMusic

 Case 5 '停止
  BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 18, 0, SRCCOPY
  Playpaus.Refresh
  CloseIt
 
 Case 6 '暂停
  BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 9, 0, SRCCOPY
  Playpaus.Refresh
  Pause
 
 Case 7 '播放
  BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 0, 0, SRCCOPY
  Playpaus.Refresh
  GetMciMode
  If MciMode = "paused" & Chr(0) & Chr(0) Then
   mciExecute ("resume Media1")
  Else
   If Listfrm.List2.ListIndex = -1 Then Exit Sub
   Play Listfrm.List2.Text
  End If
 
 Case 8 '上一首
  BitBlt Playpaus.hDC, 0, 0, 10, 10, Skin12.hDC, 0, 0, SRCCOPY
  Playpaus.Refresh
  LastMusic

End Select
End Sub
Private Sub TitleBarButton_MouseUp(Index As Integer, Button As Integer, Shift As Integer, x As Single, y As Single)
Select Case Index
 Case 0 '关闭按钮
  If y >= 0 And y <= TitleBarButton(0).Height And x >= 0 And x <= TitleBarButton(0).Width Then
   Writem3u App.Path & "\Winamp.m3u"
   CloseIt
   RemoveTray
   SaveSetting
   Unload Me
   Unload Listfrm
   Unload EQfrm
   Unload MenuFrm
   Unload AboutFrm
  Else
   BitBlt Skin_TitleBar.hDC, 264, 3, 9, 9, Skin3.hDC, 18, 0, SRCCOPY
   Skin_TitleBar.Refresh
  End If
 
 Case 1 '精简按钮
  If y >= 0 And y <= TitleBarButton(1).Height And x >= 0 And x <= TitleBarButton(1).Width Then
   If SimpleFlag1 = False Then
    BitBlt Skin_TitleBar.hDC, 254, 3, 9, 9, Skin3.hDC, 0, 18, SRCCOPY
    Skin_TitleBar.Refresh
    BitBlt Skin_TitleBar.hDC, 0, 0, 300, 14, Skin3.hDC, 27, 29, SRCCOPY
    Skin_TitleBar.Refresh
    Mainfrm.Height = 215
    TitleBarButton(3).Visible = True
    TitleBarButton(4).Visible = True
    TitleBarButton(5).Visible = True
    TitleBarButton(6).Visible = True
    TitleBarButton(7).Visible = True
    TitleBarButton(8).Visible = True
    SimpleFlag1 = True
    TitleBarButton(1).ToolTipText = "还原窗口模式"
   Else
    BitBlt Skin_TitleBar.hDC, 254, 3, 9, 9, Skin3.hDC, 0, 27, SRCCOPY
    Skin_TitleBar.Refresh
    BitBlt Skin_TitleBar.hDC, 0, 0, 300, 14, Skin3.hDC, 27, 0, SRCCOPY
    Skin_TitleBar.Refresh
    Mainfrm.Height = 1725
    TitleBarButton(3).Visible = False
    TitleBarButton(4).Visible = False
    TitleBarButton(5).Visible = False
    TitleBarButton(6).Visible = False
    TitleBarButton(7).Visible = False
    TitleBarButton(8).Visible = False
    SimpleFlag1 = False
    TitleBarButton(1).ToolTipText = "切换到条形窗口模式"
   End If
   EQfrm.Top = Mainfrm.Top + Mainfrm.Height
   Listfrm.Top = EQfrm.Top + EQfrm.Height
  Else
   BitBlt Skin_TitleBar.hDC, 254, 3, 9, 9, Skin3.hDC, 0, 27, SRCCOPY
   Skin_TitleBar.Refresh
  End If
  EQfrm.Top = Mainfrm.Top + Mainfrm.Height
 Case 2 '最小化
  If y >= 0 And y <= TitleBarButton(0).Height And x >= 0 And x <= TitleBarButton(0).Width Then
   Mainfrm.Hide
   EQfrm.Hide
   Listfrm.Hide
  Else
   BitBlt Skin_TitleBar.hDC, 244, 3, 9, 9, Skin3.hDC, 9, 0, SRCCOPY
   Skin_TitleBar.Refresh
  End If
End Select
End Sub


Private Sub volume_ScrollBar_KeyDown(KeyCode As Integer, Shift As Integer)
KeyDown KeyCode
End Sub
Private Sub volume_ScrollBar_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Volume_ScrollBar.hDC, 0, 0, 18, 10, Skin8.hDC, 0, 422, SRCCOPY
Volume_ScrollBar.Refresh
VolScrollFlag = True
VolScrollX = x
End Sub
Private Sub volume_ScrollBar_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If VolScrollFlag = True Then
 If Volume_ScrollBar.Left < 20 Then
  Volume_ScrollBar.Left = 20
 ElseIf Volume_ScrollBar.Left > 770 Then
  Volume_ScrollBar.Left = 770
 End If
 Volume_ScrollBar.Left = Volume_ScrollBar.Left + x - VolScrollX
 BitBlt VolumeScrollBar.hDC, 0, 0, 80, 20, Skin8.hDC, 0, (Volume_ScrollBar.Left \ 30) * 15, SRCCOPY
 VolumeScrollBar.Refresh
 
 VolumeValue = CLng(65535 * (Volume_ScrollBar.Left - 20) / 790)
 
 If VolumeValue < 0 Then Exit Sub
 Set MyVolume = New clsVolume
 MyVolume.meOpenMixer
 MyVolume.prSpeakerVolume = VolumeValue
End If
End Sub
Private Sub volume_ScrollBar_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Volume_ScrollBar.Left < 20 Then
   Volume_ScrollBar.Left = 20
ElseIf Volume_ScrollBar.Left > 770 Then
   Volume_ScrollBar.Left = 770
End If
BitBlt Volume_ScrollBar.hDC, 0, 0, 18, 10, Skin8.hDC, 15, 422, SRCCOPY
Volume_ScrollBar.Refresh
VolScrollFlag = False
Volume_ScrollBar.ToolTipText = "声音大小 " & CInt((Volume_ScrollBar.Left - 20) / 750 * 100) & "%"
End Sub

Private Sub Balance_ScrollBar_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Balance_ScrollBar.hDC, 0, 0, 18, 10, Skin9.hDC, 0, 422, SRCCOPY
Balance_ScrollBar.Refresh
BScrollFlag = True
BScrollX = x
End Sub
Private Sub Balance_ScrollBar_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If BScrollFlag = True Then
  If Balance_ScrollBar.Left < 0 Then
   Balance_ScrollBar.Left = 0
  ElseIf Balance_ScrollBar.Left > 390 Then
   Balance_ScrollBar.Left = 390
  End If
  Balance_ScrollBar.Left = Balance_ScrollBar.Left + x - BScrollX
  BitBlt BalanceScrollBar.hDC, 0, 0, 80, 20, Skin9.hDC, 9, (Balance_ScrollBar.Left \ 16) * 15, SRCCOPY
  BalanceScrollBar.Refresh
End If
End Sub
Private Sub Balance_ScrollBar_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Balance_ScrollBar.Left < 0 Then
   Balance_ScrollBar.Left = 0
ElseIf Balance_ScrollBar.Left > 390 Then
   Balance_ScrollBar.Left = 390
End If
BitBlt Balance_ScrollBar.hDC, 0, 0, 18, 10, Skin9.hDC, 15, 422, SRCCOPY
Balance_ScrollBar.Refresh
BScrollFlag = False
End Sub

Private Sub volumeScrollBar_Click()
MainfrmAct
ClearSonButton
End Sub

Private Sub Pos_ScrollBar_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
MainfrmAct
ClearSonButton
BitBlt Pos_ScrollBar.hDC, 0, 0, 30, 10, Skin10.hDC, 278, 0, SRCCOPY
Pos_ScrollBar.Refresh
PosScrollFlag = True
PosScrollX = x
Timer_Scrollbar.Enabled = False
End Sub
Private Sub Pos_ScrollBar_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
If PosScrollFlag = True Then
 If Pos_ScrollBar.Left < 0 Then
  Pos_ScrollBar.Left = 0
 ElseIf Pos_ScrollBar.Left > 3270 Then
  Pos_ScrollBar.Left = 3270
 End If
 Pos_ScrollBar.Left = Pos_ScrollBar.Left + x - PosScrollX
 PosScrollBar.Refresh
End If
End Sub
Private Sub Pos_ScrollBar_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Pos_ScrollBar.Left < 0 Then
 Pos_ScrollBar.Left = 0
ElseIf Pos_ScrollBar.Left > 3270 Then
 Pos_ScrollBar.Left = 3270
End If
PosScrollFlag = False
BitBlt Pos_ScrollBar.hDC, 0, 0, 30, 10, Skin10.hDC, 248, 0, SRCCOPY
Pos_ScrollBar.Refresh

GetMciMode
If MciMode = Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) Then Exit Sub

GetMciInfo
CurrentPosition = CStr(CLng((Pos_ScrollBar.Left) * Val(MciLength) / 3300))
mciExecute ("play Media1 from " & CurrentPosition)
Timer_Scrollbar.Enabled = True

End Sub
Private Sub PosScrollBar_Click()
MainfrmAct
ClearSonButton
End Sub

Private Sub MainFrmTime_Timer()
GetMciInfo
BitBlt Number(0).hDC, 0, 0, 12, 20, Skin11.hDC, (CInt(Mid(MciPositionTime, 1, 1)) * 9), 0, SRCCOPY
Number(0).Refresh
BitBlt Number(1).hDC, 0, 0, 12, 20, Skin11.hDC, (CInt(Mid(MciPositionTime, 2, 1)) * 9), 0, SRCCOPY
Number(1).Refresh
BitBlt Number(2).hDC, 0, 0, 12, 20, Skin11.hDC, (CInt(Mid(MciPositionTime, 4, 1)) * 9), 0, SRCCOPY
Number(2).Refresh
BitBlt Number(3).hDC, 0, 0, 12, 20, Skin11.hDC, (CInt(Mid(MciPositionTime, 5, 1)) * 9), 0, SRCCOPY
Number(3).Refresh
End Sub

Private Sub Timer_Scrollbar_Timer()
GetMciMode
If MciMode = Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) Then Exit Sub
GetMciInfo
If Val(MciLength) = 0 Or Val(MciPosition) = 0 Then Exit Sub
Pos_ScrollBar.Left = (PosScrollBar.Width - Pos_ScrollBar.Width) / Val(MciLength) * Val(MciPosition)
End Sub

Private Sub Change_Music_Timer()
ChangeMusic
End Sub

Private Sub volumeScrollBar_KeyDown(KeyCode As Integer, Shift As Integer)
KeyDown KeyCode
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -