Guten Abend,
ich habe gerade ein kleines Problem. Ich habe eine GUI mit einer Rück- und Vorwärtstaste. Doch leider funktioniert das ganze nicht, wenn man auf eine Seite (Radiosender) geht und dann auf die Taste <--, --> und dann wieder auf <-- klickt. Es bleibt irgendwie hängen und die Startseite wird nicht aufgerufen.
Helft mir bitte ich schaff es irgendwie nicht :wacko:
Problem ist erst ab Zeile 216 - 228.
Spoiler anzeigen
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Au3check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: DeepRed (AutoIt.de)
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
[/autoit] [autoit][/autoit] [autoit]; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <Includes\MessageHandler.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiToolBar.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
#include <Includes\ModernMenuRaw.au3>
#include <ListViewConstants.au3>
#include <GuiStatusBar.au3>
#include <ProgressConstants.au3>
Global Const $LV_START = 0x1
Global Const $LV_CHANNELS = 0x2
Global Const $LV_MUSIK = 0x3
Global Const $LV_FAVORITES = 0x4
Global $Width = 712
Global $Hight = 440
Global $aParts[4] = [200, 300, 620, -1]
Global $CurrentPage = $LV_START
Global $LastPage = $LV_START
Global Enum $item1, $item2, $item3, $item4, $item5, $item6, $item7, $item8, $item9, $item10, $item11
[/autoit] [autoit][/autoit] [autoit]$MainGUI = GUICreate("Desktop Radio Music Manager (Beta)", $Width - 1, $Hight + 33, -1, -1, -1, $WS_EX_ACCEPTFILES)
GUISetIcon(@ScriptDir & "\Img\Icons\Toolbar\Radio2.ico")
;-----------------------------------------------------------\
$Menu_File = GUICtrlCreateMenu("Datei")
$Menu_Item_Exit = _GUICtrlCreateODMenuItem("Beenden", $Menu_File, "shell32.dll", -132)
$Menu_Edit = GUICtrlCreateMenu("Bearbeiten")
$Menu_Extras = GUICtrlCreateMenu("Extras")
[/autoit] [autoit][/autoit] [autoit]$Menu_Info = GUICtrlCreateMenu("Info")
$Menu_Item_About = _GUICtrlCreateODMenuItem("Über Music Manager", $Menu_Info, @ScriptDir & "\img\Icons\Radio2.ico", 0)
$Menu_Item_Infos = _GUICtrlCreateODMenuItem("Versionshinweise", $Menu_Info, "shell32.dll", -91)
;-----------------------------------------------------------/
;-----------------------------------------------------------\
$hToolbar = _GUICtrlToolbar_Create($MainGUI)
$ImageListToolbar = _GUIImageList_Create(32, 32, 5, 3, 3)
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Previous.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Next.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\add.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Edit.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Delete.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Stop.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Play.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Pause.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Refresh.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Help.ico")
_GUIImageList_AddIconSize($ImageListToolbar, @ScriptDir & "\Images\Icons\Toolbar\Mail.ico")
_GUICtrlToolbar_SetImageList($hToolbar, $ImageListToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $item1, 0)
_GUICtrlToolbar_AddButton($hToolbar, $item2, 1)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $item3, 2)
_GUICtrlToolbar_AddButton($hToolbar, $item4, 3)
_GUICtrlToolbar_AddButton($hToolbar, $item5, 4)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $item6, 5)
_GUICtrlToolbar_AddButton($hToolbar, $item7, 6)
_GUICtrlToolbar_AddButton($hToolbar, $item8, 7)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $item9, ![]()
_GUICtrlToolbar_AddButton($hToolbar, $item10, 9)
_GUICtrlToolbar_AddButton($hToolbar, $item11, 10)
;-----------------------------------------------------------/
;-----------------------------------------------------------\
$Page_Start = GUICreate("", $Width, $Hight - 63 + 10, 0, 44, $WS_CHILD, -1, $MainGUI)
$ListView_Start = GUICtrlCreateListView("Navigation", 0, 0, $Width, $Hight - 63 + 10)
GUICtrlSetStyle($ListView_Start, $LVS_ICON, $LVS_EX_DOUBLEBUFFER)
GUICtrlSetState($ListView_Start, $GUI_DROPACCEPTED)
_GUICtrlListView_AddItem($ListView_Start, "Radiosender", 0)
_GUICtrlListView_AddItem($ListView_Start, "Musik", 1)
_GUICtrlListView_AddItem($ListView_Start, "Favouriten", 2)
$ImageListListViewStart = _GUIImageList_Create(48, 48, 5, 1)
_GUIImageList_AddIconSize($ImageListListViewStart, @ScriptDir & "\Images\Icons\Toolbar\Radio2.ico", 48)
_GUIImageList_AddIconSize($ImageListListViewStart, @ScriptDir & "\Images\Icons\Toolbar\MP3.ico", 48)
_GUIImageList_AddIconSize($ImageListListViewStart, @ScriptDir & "\Images\Icons\Toolbar\Favorites.ico", 48)
_GUICtrlListView_SetImageList($ListView_Start, $ImageListListViewStart, 0)
;-----------------------------------------------------------/
;-----------------------------------------------------------\
$Page_Channels = GUICreate("", $Width, $Hight - 63 + 10, 0, 44, $WS_CHILD, -1, $MainGUI)
$ListView_Channels = GUICtrlCreateListView("Name des Senders:|Genre|Bewertung|Internetadresse:", 0, 0, $Width, $Hight - 63 + 10)
_GUICtrlListView_SetColumnWidth($ListView_Channels, 0, 170)
_GUICtrlListView_SetColumnWidth($ListView_Channels, 1, 100)
_GUICtrlListView_SetColumnWidth($ListView_Channels, 2, 70)
_GUICtrlListView_SetColumnWidth($ListView_Channels, 3, 350)
_GUICtrlListView_RegisterSortCallBack($ListView_Channels)
;-----------------------------------------------------------/
$Page_Musik = GUICreate("", $Width, $Hight - 63 + 10, 0, 44, $WS_CHILD, -1, $MainGUI)
$ListView_Musik = GUICtrlCreateListView("Titel|Interpret|Länge|Bewertung|Bitrate|Größe", 0, 0, $Width, $Hight - 63 + 10)
GUICtrlSetState($ListView_Musik, $GUI_DROPACCEPTED)
_GUICtrlListView_RegisterSortCallBack($ListView_Musik)
;-----------------------------------------------------------\
;-----------------------------------------------------------/
$Page_Favoriten = GUICreate("", $Width, $Hight - 63 + 10, 0, 44, $WS_CHILD, -1, $MainGUI)
$ListView_Favoriten = GUICtrlCreateListView("Titel|Interpret|Länge|Bewertung|Bitrate|Größe", 0, 0, $Width, $Hight - 63 + 10)
GUICtrlSetStyle($ListView_Favoriten, $LVS_ICON + $LVS_EDITLABELS, $LVS_EX_DOUBLEBUFFER)
_GUICtrlListView_SetColumnWidth($ListView_Favoriten, 0, 312)
_GUICtrlListView_SetColumnWidth($ListView_Favoriten, 1, 80)
_GUICtrlListView_SetColumnWidth($ListView_Favoriten, 2, 50)
_GUICtrlListView_SetColumnWidth($ListView_Favoriten, 3, 70)
_GUICtrlListView_SetColumnWidth($ListView_Favoriten, 4, 50)
$ImageListListViewFavoriten = _GUIImageList_Create(32, 32, 5, 3, 3)
_GUIImageList_AddIconSize($ImageListListViewFavoriten, @ScriptDir & "\Images\Icons\Toolbar\Folder.ico", 48)
_GUICtrlListView_SetImageList($ListView_Favoriten, $ImageListListViewFavoriten, 0)
$ListView_Favoriten_Menu = GUICtrlCreateContextMenu($ListView_Favoriten)
_GUICtrlCreateODMenuItem("Löschen", $ListView_Favoriten_Menu, @ScriptDir & "\Images\Icons\Toolbar\Delete.ico", 0)
_GUICtrlCreateODMenuItem("Bearbeiten", $ListView_Favoriten_Menu, @ScriptDir & "\Images\Icons\Toolbar\Edit.ico", 0)
$ListView_Favoriten_Menu_New = _GUICtrlCreateODMenu("Neu", $ListView_Favoriten_Menu, @ScriptDir & "\Images\Icons\Toolbar\New.ico", 0)
$ListView_Favoriten_Menu_Item_Folder = _GUICtrlCreateODMenuItem("Ordner", _
$ListView_Favoriten_Menu_New, @ScriptDir & "\Images\Icons\Toolbar\Folder.ico", 0)
;-----------------------------------------------------------\
;-----------------------------------------------------------/
$StatusBar = _GUICtrlStatusBar_Create($MainGUI, $aParts)
_GUICtrlStatusBar_SetParts($StatusBar, $aParts)
_GUICtrlStatusBar_SetText($StatusBar, " Statusanzeige", 0)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
$StatusBar_Progress = GUICtrlCreateProgress(5, 501, 100, 17, $PBS_SMOOTH)
DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 7)
$StatusBar_Progress_Handle = GUICtrlGetHandle($StatusBar_Progress)
_GUICtrlStatusBar_EmbedControl($StatusBar, 3, $StatusBar_Progress_Handle)
;-----------------------------------------------------------\
GUISwitch($MainGUI)
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
GUISetState(@SW_SHOW, $MainGUI)
GUISetState(@SW_SHOW, $Page_Start)
ControlClick($MainGUI, "", "SysListView321")
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func _BackForward($_Var, $_HideShow)
If $_HideShow = @SW_SHOW Then
Local $i_HideShow = @SW_SHOW
ElseIf $_HideShow = @SW_HIDE Then
Local $i_HideShow = @SW_HIDE
EndIf
Switch $_Var
Case $LV_START
GUISetState($i_HideShow, $Page_Start)
Case $LV_CHANNELS
GUISetState($i_HideShow, $Page_Channels)
Case $LV_MUSIK
GUISetState($i_HideShow, $Page_Musik)
Case $LV_FAVORITES
GUISetState($i_HideShow, $Page_Favoriten)
EndSwitch
EndFunc ;==>_BackForward
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM, $tInfo
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$idFrom = DllStructGetData($tNMHDR, "IDFrom")
$code = DllStructGetData($tNMHDR, "Code")
Switch $hwndFrom
Case $hToolbar
Switch $code
Case $NM_CLICK
$tNMACTIVE = DllStructCreate($tagNMITEMACTIVATE, $lParam)
$iItem = DllStructGetData($tNMACTIVE, "Index")
If $iItem = -1 Then Return $GUI_RUNDEFMSG
Switch _GUICtrlToolbar_CommandToIndex($hToolbar, $iItem)
Case 0
GUISetState(@SW_SHOW, $Page_Start)
_BackForward($CurrentPage, @SW_HIDE)
[/autoit] [autoit][/autoit] [autoit]$LastPage = $CurrentPage
$CurrentPage = $LV_START
Case 1
[/autoit] [autoit][/autoit] [autoit]_BackForward($LastPage, @SW_SHOW)
_BackForward($CurrentPage, @SW_HIDE)
Case 3
[/autoit] [autoit][/autoit] [autoit]Case 4
[/autoit] [autoit][/autoit] [autoit]Case 5
[/autoit] [autoit][/autoit] [autoit]Case 7
[/autoit] [autoit][/autoit] [autoit]Case 8
[/autoit] [autoit][/autoit] [autoit]Case 9
[/autoit] [autoit][/autoit] [autoit]Case 10
[/autoit] [autoit][/autoit] [autoit]Case 11
[/autoit] [autoit][/autoit] [autoit]Case 12
[/autoit] [autoit][/autoit] [autoit]Case 13
[/autoit] [autoit][/autoit] [autoit]EndSwitch
Case $TBN_HOTITEMCHANGE
$tNMTBHOTITEM = DllStructCreate($tagNMTBHOTITEM, $lParam)
$i_idOld = DllStructGetData($tNMTBHOTITEM, "idOld")
$i_idNew = DllStructGetData($tNMTBHOTITEM, "idNew")
$iItem = $i_idNew
$dwFlags = DllStructGetData($tNMTBHOTITEM, "dwFlags")
EndSwitch
Case GUICtrlGetHandle($ListView_Start)
Select
Case $code = $NM_DBLCLK
$ListViewGetIndex = _GUICtrlListView_GetSelectionMark($ListView_Start)
[/autoit] [autoit][/autoit] [autoit]If $ListViewGetIndex <> -1 Then
[/autoit] [autoit][/autoit] [autoit]Switch $ListViewGetIndex
Case 0
GUISetState(@SW_SHOW, $Page_Channels)
GUISetState(@SW_HIDE, $Page_Start)
$CurrentPage = $LV_CHANNELS
Case 1
GUISetState(@SW_SHOW, $Page_Musik)
GUISetState(@SW_HIDE, $Page_Start)
$CurrentPage = $LV_MUSIK
Case 2
GUISetState(@SW_SHOW, $Page_Favoriten)
GUISetState(@SW_HIDE, $Page_Start)
$CurrentPage = $LV_FAVORITES
EndSwitch
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]EndSelect
[/autoit] [autoit][/autoit] [autoit]Case GUICtrlGetHandle($ListView_Channels)
Select
Case $code = $NM_DBLCLK
EndSelect
[/autoit] [autoit][/autoit] [autoit]Case GUICtrlGetHandle($ListView_Musik)
Select
Case $code = $NM_DBLCLK
EndSelect
[/autoit] [autoit][/autoit] [autoit]Case GUICtrlGetHandle($ListView_Favoriten)
Select
Case $code = $NM_DBLCLK
EndSelect
[/autoit] [autoit][/autoit] [autoit]EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Func _GUIImageList_AddIconSize($hWnd, $sFile, $iSize = 32)
Local $tIcon, $iResult, $hIcon
$hIcon = _WinAPI_LoadImage(0, $sFile, $IMAGE_ICON, $iSize, $iSize, $LR_LOADFROMFILE)
_WinAPI_Check("_GUIImageList_AddIcon", ($hIcon = 0), -1)
$iResult = _GUIImageList_ReplaceIcon($hWnd, -1, $hIcon)
_WinAPI_Check("_GUIImageList_AddIcon", ($iResult = -1), -2)
_WinAPI_DestroyIcon($hIcon)
Return $iResult
EndFunc ;==>_GUIImageList_AddIconSize