Code: Alles auswählen
; PureBasic Visual Designer v3.90 build 1361
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#LOAD
#Playlist
#PLAY
#PAUSE
#RESUME
#STOP
#QUIT
#TIME_Total
#Slash
#TIME_Current
EndEnumeration
;- Audio Constants
;
Enumeration
#AUDIO_ID
EndEnumeration
; BalloonTip Constants
#TOOLTIP_NO_ICON = 0
#TOOLTIP_INFO_ICON = 1
#TOOLTIP_WARNING_ICON = 2
#TOOLTIP_ERROR_ICON = 3
Procedure BalloonTip(WindowID, Gadget, Text$ , Title$, Icon)
ToolTip=CreateWindowEx_(0,"ToolTips_Class32","",#WS_POPUP | #TTS_NOPREFIX | #TTS_BALLOON,0,0,0,0,WindowID,0,GetModuleHandle_(0),0)
SendMessage_(ToolTip,#TTM_SETTIPTEXTCOLOR,GetSysColor_(#COLOR_INFOTEXT),0)
SendMessage_(ToolTip,#TTM_SETTIPBKCOLOR,GetSysColor_(#COLOR_INFOBK),0)
SendMessage_(ToolTip,#TTM_SETMAXTIPWIDTH,0,180)
Balloon.TOOLINFO\cbSize=SizeOf(TOOLINFO)
Balloon\uFlags=#TTF_IDISHWND | #TTF_SUBCLASS
Balloon\hWnd=GadgetID(Gadget)
Balloon\uId=GadgetID(Gadget)
Balloon\lpszText=@Text$
SendMessage_(ToolTip, #TTM_ADDTOOL, 0, Balloon)
If Title$ > ""
SendMessage_(ToolTip, #TTM_SETTITLE, Icon, @Title$)
EndIf
EndProcedure
If OpenWindow(#Window_0, 270, 233, 359, 204, #PB_Window_TitleBar|#PB_Window_MinimizeGadget , "MP3-Player")
If CreateGadgetList(WindowID())
ButtonGadget(#LOAD, 0, 180, 60, 25, "Laden")
BalloonTip(WindowID(), #LOAD, "Musikstück laden", "", #TOOLTIP_NO_ICON)
ListViewGadget(#Playlist, 0, 0, 360, 165)
BalloonTip(WindowID(), #Playlist, "PlayList", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PLAY, 60, 180, 60, 25, "Abspielen")
BalloonTip(WindowID(), #PLAY, "Musikstück abspielen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#PAUSE, 120, 180, 60, 25, "Anhalten")
BalloonTip(WindowID(), #PAUSE, "Musikstück anhalten", "", #TOOLTIP_NO_ICON)
ButtonGadget(#RESUME, 180, 180, 60, 25, "Fortsetzen")
BalloonTip(WindowID(), #RESUME, "Musikstück fortsetzen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#STOP, 240, 180, 60, 25, "Stop")
BalloonTip(WindowID(), #STOP, "Musikstück stoppen", "", #TOOLTIP_NO_ICON)
ButtonGadget(#QUIT, 300, 180, 60, 25, "Beenden")
BalloonTip(WindowID(), #QUIT, "Player Beenden", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Total, 55, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Total, "Zeit Total", "", #TOOLTIP_NO_ICON)
TextGadget(#Slash, 45, 165, 10, 15, "/")
BalloonTip(WindowID(), #Slash, "Slash ? O.o :D ;)", "", #TOOLTIP_NO_ICON)
TextGadget(#TIME_Current, 0, 165, 45, 15, "00:00:00")
BalloonTip(WindowID(), #TIME_Current, "Verstrichene Zeit", "", #TOOLTIP_NO_ICON)
EndIf
Repeat
EventID.l = WindowEvent()
If EventID = #PB_Event_CloseWindow
Quit.l = 1
EndIf
If EventID = #WM_KEYDOWN
If EventwParam() = #VK_Escape
Quit.l = 1
EndIf
EndIf
If IsAudioZPlaying(#AUDIO_ID)
SetGadgetText(#TIME_Current, PositionAudioZTime(GetAudioZState(#AUDIO_ID)))
Delay(50)
EndIf
If EventID = #PB_Event_Gadget
Select EventGadgetID()
Case #LOAD
File$ = OpenFileRequester("Lied auswählen", "c:\","MpegLayer3 (*.mp3)|*.mp3",0)
ListID.l = CountGadgetItems(#Playlist)
If ListID <> 0
AddGadgetItem(#Playlist,ListID,File$,0)
Else
AddGadgetItem(#Playlist,0,File$,0)
EndIf
Case #QUIT
Quit.l = 1
Case #PLAY
If IsAudioZPlaying(#AUDIO_ID)
MessageRequester("Fehler","Es wird zuzeit noch ein Lied gespielt.")
Else
OpenAudioZ(#AUDIO_ID,GetGadgetItemText(#Playlist,GetGadgetState(#Playlist),0))
PlayAudioZ(#AUDIO_ID)
SetGadgetText(#TIME_Total, PositionAudioZTime(GetAudioZLength(#AUDIO_ID)))
EndIf
Case #STOP
StopAudioZ(#AUDIO_ID)
FreeAudioZ(#AUDIO_ID)
Case #RESUME
ResumeAudioZ(#AUDIO_ID)
Case #PAUSE
PauseAudioZ(#AUDIO_ID)
EndSelect
EndIf
Until Quit=1
EndIf