?? winampskin.bas
字號:
Attribute VB_Name = "WinampSkin"
' **********************************************************************
' 描 述:存vb代碼寫的winnap程序,非???' Play78.com : 網站導航,源碼之家,絕對開源
' 海闊天空收集整理
' 主站地址:http://www.play78.com/
' 源碼下載地址:http://www.play78.com/blog
' 圖片下在地址:http://www.play78.com/pic
' QQ:13355575
' e-mail:hglai@eyou.com
' 編寫日期:2005年08月30日
' **********************************************************************
Public Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Const SRCCOPY = &HCC0020
Public Mousenow As Boolean
Public X1 As Integer
Public X2 As Integer
Public Y1 As Integer
Public Y2 As Integer
'文件拖曳至列表
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Sub DragFinish Lib "shell32.dll" (ByVal HDROP As Long)
Public Declare Function DragQueryFile Lib "shell32.dll" Alias "DragQueryFileA" (ByVal HDROP As Long, ByVal UINT As Long, ByVal lpStr As String, ByVal ch As Long) As Long
Public Declare Function CallWindowProc Lib "user32" Alias "CallWindowProcA" (ByVal lplPhWnd As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Public Const GWL_WNDPROC = (-4)
Public Const WM_DROPFILES = &H233
Public lPhWnd As Long
Sub MouseDown(ByVal x As Integer, ByVal y As Integer)
Mousenow = True
X1 = x
Y1 = y
End Sub
Sub MouseMove(ByVal x As Integer, ByVal y As Integer, Frm As Form)
If Mousenow Then
X2 = x
Y2 = y
If Frm.Caption = "Mainfrm" And Mainfrm.DragTogether2 = True Then '拖三個
Frm.Left = Frm.Left + X2 - X1
Frm.Top = Frm.Top + Y2 - Y1
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
Listfrm.Top = EQfrm.Top + EQfrm.Height
EQfrm.Left = Mainfrm.Left
Listfrm.Left = Mainfrm.Left
ElseIf Frm.Caption = "Mainfrm" And Mainfrm.DragTogether1 = True Then '拖兩個
Frm.Left = Frm.Left + X2 - X1
Frm.Top = Frm.Top + Y2 - Y1
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Else '拖一個
Frm.Left = Frm.Left + X2 - X1
Frm.Top = Frm.Top + Y2 - Y1
End If
End If
End Sub
Sub MouseUp()
Mousenow = False
If Abs(Mainfrm.Top + Mainfrm.Height - EQfrm.Top) < 600 And Abs(Mainfrm.Left - EQfrm.Left) < 600 Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Mainfrm.DragTogether1 = True
End If
If Abs(EQfrm.Top + EQfrm.Height - Listfrm.Top) < 600 And Abs(EQfrm.Left - Listfrm.Left) < 600 Then
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
End If
If Abs(EQfrm.Top + EQfrm.Height - Listfrm.Top) < 600 And Abs(EQfrm.Left - Listfrm.Left) < 600 And Abs(Mainfrm.Top + Mainfrm.Height - EQfrm.Top) < 600 And Abs(Mainfrm.Left - EQfrm.Left) < 600 Then
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
Mainfrm.DragTogether2 = True
End If
If Abs(Mainfrm.Top + Mainfrm.Height - EQfrm.Top) >= 600 Or Abs(Mainfrm.Left - EQfrm.Left) >= 600 Then Mainfrm.DragTogether1 = False
If Abs(EQfrm.Top + EQfrm.Height - Listfrm.Top) >= 600 Or Abs(EQfrm.Left - Listfrm.Left) >= 600 Then Mainfrm.DragTogether2 = False
If Abs(Mainfrm.Top) - 500 < 0 Then
Mainfrm.Top = 0
If Mainfrm.DragTogether2 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
End If
If Mainfrm.DragTogether1 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
End If
End If
If Abs(Mainfrm.Left) - 500 < 0 Then
Mainfrm.Left = 0
If Mainfrm.DragTogether2 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
End If
If Mainfrm.DragTogether1 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
End If
End If
If Abs(7830 - Mainfrm.Left) < 500 Then
Mainfrm.Left = 7830
If Mainfrm.DragTogether2 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
End If
If Mainfrm.DragTogether1 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
End If
End If
If Abs(11220 - Mainfrm.Left) < 500 Then
Mainfrm.Left = 11220
If Mainfrm.DragTogether2 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
Listfrm.Top = EQfrm.Top + EQfrm.Height
Listfrm.Left = EQfrm.Left
End If
If Mainfrm.DragTogether1 = True Then
EQfrm.Top = Mainfrm.Top + Mainfrm.Height
EQfrm.Left = Mainfrm.Left
End If
End If
End Sub
Sub MainfrmAct()
If Mainfrm.SimpleFlag1 = False Then
BitBlt Mainfrm.Skin_TitleBar.hDC, 0, 0, 1600, 14, Mainfrm.Skin3.hDC, 27, 0, SRCCOPY
Mainfrm.Skin_TitleBar.Refresh
Else
BitBlt Mainfrm.Skin_TitleBar.hDC, 254, 3, 9, 9, Mainfrm.Skin3.hDC, 0, 18, SRCCOPY
Mainfrm.Skin_TitleBar.Refresh
BitBlt Mainfrm.Skin_TitleBar.hDC, 0, 0, 300, 14, Mainfrm.Skin3.hDC, 27, 29, SRCCOPY
Mainfrm.Skin_TitleBar.Refresh
End If
End Sub
Sub ListfrmAct()
If Listfrm.SimpleFlag2 = False Then
BitBlt Listfrm.Skin_PlayList1(0).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 0, 0, SRCCOPY
Listfrm.Skin_PlayList1(0).Refresh
BitBlt Listfrm.Skin_PlayList1(1).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(1).Refresh
BitBlt Listfrm.Skin_PlayList1(2).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(2).Refresh
BitBlt Listfrm.Skin_PlayList1(3).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(3).Refresh
BitBlt Listfrm.Skin_PlayList1(4).hDC, 0, 0, 200, 22, Listfrm.Skin5.hDC, 26, 0, SRCCOPY
Listfrm.Skin_PlayList1(4).Refresh
BitBlt Listfrm.Skin_PlayList1(5).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(5).Refresh
BitBlt Listfrm.Skin_PlayList1(6).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(6).Refresh
BitBlt Listfrm.Skin_PlayList1(7).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 127, 0, SRCCOPY
Listfrm.Skin_PlayList1(7).Refresh
BitBlt Listfrm.Skin_PlayList1(8).hDC, 0, 0, 35, 22, Listfrm.Skin5.hDC, 153, 0, SRCCOPY
Listfrm.Skin_PlayList1(8).Refresh
End If
End Sub
Sub EQfrmAct()
If EQfrm.SimpleFlag3 = False Then
BitBlt EQfrm.EQTitle.hDC, 0, 0, 300, 20, EQfrm.Skin7.hDC, 0, 134, SRCCOPY
EQfrm.EQTitle.Refresh
Else
BitBlt EQfrm.EQTitle.hDC, 0, 0, 280, 20, EQfrm.Skin6.hDC, 0, 0, SRCCOPY
EQfrm.EQTitle.Refresh
End If
End Sub
Sub ChangeSkin()
rc = BrowseForFolder(Mainfrm, "設置皮膚目錄", Mainfrm.StartDir2)
If rc = "" Then Exit Sub
Mainfrm.StartDir2 = rc
Mainfrm.Text1 = rc
LoadSkin rc
WritePrivateProfileString "SETTING", "SkinDirectory", rc, App.Path & "\" & "Winamp.ini"
End Sub
Sub LoadSkin(ByVal SkinDir As String)
Mainfrm.Text2 = Mainfrm.Text1 & "\main.bmp"
If Dir(Mainfrm.Text2) <> "" Then
Mainfrm.Skin1.Picture = LoadPicture(Mainfrm.Text2)
Mainfrm.Skin_main.Picture = Mainfrm.Skin1.Picture
End If
Mainfrm.Text2 = Mainfrm.Text1 & "\cbuttons.bmp"
If Dir(Mainfrm.Text2) <> "" Then
Mainfrm.Skin2.Picture = LoadPicture(Mainfrm.Text2)
BitBlt Mainfrm.Skin_cbuttons1.hDC, 0, 0, 300, 20, Mainfrm.Skin2.hDC, 0, 0, SRCCOPY
Mainfrm.Skin_cbuttons1.Refresh
BitBlt Mainfrm.Skin_cbuttons2.hDC, 0, 0, 300, 20, Mainfrm.Skin2.hDC, 114, 0, SRCCOPY
Mainfrm.Skin_cbuttons2.Refresh
End If
Mainfrm.Text2 = Mainfrm.Text1 & "\titlebar.bmp"
If Dir(Mainfrm.Text2) <> "" Then
Mainfrm.Skin3.Picture = LoadPicture(Mainfrm.Text2)
If Mainfrm.SimpleFlag1 = False Then
BitBlt Mainfrm.Skin_TitleBar.hDC, 0, 0, 300, 14, Mainfrm.Skin3.hDC, 27, 0, SRCCOPY
Mainfrm.Skin_TitleBar.Refresh
Else
BitBlt Mainfrm.Skin_TitleBar.hDC, 0, 0, 300, 14, Mainfrm.Skin3.hDC, 27, 29, SRCCOPY
Mainfrm.Skin_TitleBar.Refresh
Mainfrm.Height = 215
Mainfrm.TitleBarButton(3).Visible = True
Mainfrm.TitleBarButton(4).Visible = True
Mainfrm.TitleBarButton(5).Visible = True
Mainfrm.TitleBarButton(6).Visible = True
Mainfrm.TitleBarButton(7).Visible = True
Mainfrm.TitleBarButton(8).Visible = True
Mainfrm.TitleBarButton(1).ToolTipText = "還原窗口模式"
End If
BitBlt Mainfrm.OAIDV.hDC, 0, 0, 10, 45, Mainfrm.Skin3.hDC, 305, 0, SRCCOPY
Mainfrm.OAIDV.Refresh
End If
Mainfrm.Text2 = Mainfrm.Text1 & "\shufrep.bmp"
If Dir(Mainfrm.Text2) <> "" Then
Mainfrm.Skin4.Picture = LoadPicture(Mainfrm.Text2)
If Mainfrm.ShuffleFlag = True Then
BitBlt Mainfrm.Skin_shuffle.hDC, 0, 0, 100, 20, Mainfrm.Skin4.hDC, 28, 0, SRCCOPY '關閉
Mainfrm.Skin_shuffle.Refresh
Mainfrm.Skin_shuffle.ToolTipText = "順序播放"
Else
BitBlt Mainfrm.Skin_shuffle.hDC, 0, 0, 100, 20, Mainfrm.Skin4.hDC, 28, 30, SRCCOPY
Mainfrm.Skin_shuffle.Refresh
Mainfrm.Skin_shuffle.ToolTipText = "隨機播放"
End If
If Mainfrm.RepFlag = True Then
BitBlt Mainfrm.Skin_rep.hDC, 0, 0, 100, 20, Mainfrm.Skin4.hDC, 0, 0, SRCCOPY '關閉
Mainfrm.Skin_rep.Refresh
Mainfrm.Skin_rep.ToolTipText = "非循環播放"
Else
BitBlt Mainfrm.Skin_rep.hDC, 0, 0, 100, 20, Mainfrm.Skin4.hDC, 0, 30, SRCCOPY
Mainfrm.Skin_rep.Refresh
Mainfrm.Skin_rep.ToolTipText = "循環播放"
End If
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -