Hallo,
ich habe gerade angefangen mit Rebars zu arbeiten. Dabei ist mir aufgefallen das man die Items per Mauszeiger verschieben kann. Wie kann man die Rebar fixieren, damit man die Position der items nicht verändern kann?
Hallo,
ich habe gerade angefangen mit Rebars zu arbeiten. Dabei ist mir aufgefallen das man die Items per Mauszeiger verschieben kann. Wie kann man die Rebar fixieren, damit man die Position der items nicht verändern kann?
Hi,
denke du suchst _GUICtrlRebar_SetBandStyleNoGripper
Sollte mit dem Style: $RBS_FIXEDORDER gehen.
Danke. Und wie kann man feststellen, ob ein Toolbar Buttons in einem Rebar angeklickt wurde? Mit GuiGetMsg gehts ja nicht...
Schau dir mal das Beispiel von _GUICtrlToolbar_Create an, ich glaub das könnte weiterhelfen.
Ne das hatte ich mir schon vorher angeschaut. Muss ich das per GuiRegisterMsg machen oder kann ich das auch irgendwie in die While schleife einbauen?
Hatte da eine Idee: Für jeden Button des Rebar/Toolbar erstellst du einen DummyControl . Damit kann man dann vorzüglich mit GuiGetMsg oder dem GuiOnEventMode arbeiten. Habe WM_NOTIFY so modifiziert, das es eine Nachricht an die Dummy Controls sendet . Schau dir mal das Beispiel an, ob du es brauchen kannst .
#include <GuiToolbar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiMenu.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
Global $hToolbar, $iMemo
Global $iItem ; Command identifier of the button associated with the notification.
Global $Dummy1, $Dummy2, $Dummy3, $Dummy4
_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $hGUI, $aSize, $msg
; Create GUI
$hGUI = GUICreate("Toolbar", 400, 300)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
$aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
$iMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 20, 596, 396 - ($aSize[1] + 20), $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
$Dummy3 = GUICtrlCreateDummy()
$Dummy4 = GUICtrlCreateDummy()
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]; Add standard system bitmaps
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0, BitOR($BTNS_DROPDOWN, $BTNS_WHOLEDROPDOWN))
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; Loop until user exits
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Dummy1
MsgBox(0, "Info", "New wurde gedrückt")
Case $Dummy2
MsgBox(0, "Info", "FileOpen wurde gedrückt")
Case $Dummy3
MsgBox(0, "Info", "FileSave wurde gedrückt")
Case $Dummy4
MsgBox(0, "Info", "Help wurde gedrückt")
EndSwitch
WEnd
EndFunc ;==>_Main
[/autoit] [autoit][/autoit] [autoit]; Write message to memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
; WM_NOTIFY event handler
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$idFrom = DllStructGetData($tNMHDR, "IDFrom")
$code = DllStructGetData($tNMHDR, "Code")
Switch $hwndFrom
Case $hToolbar
Switch $code
Case $NM_LDOWN
;----------------------------------------------------------------------------------------------
MemoWrite("$NM_LDOWN: Clicked Item: " & $iItem & " at index: " & _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem))
;----------------------------------------------------------------------------------------------
Switch _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem)
Case 0
GUICtrlSendToDummy($Dummy1)
Case 1
GUICtrlSendToDummy($Dummy2)
Case 2
GUICtrlSendToDummy($Dummy3)
Case 4
GUICtrlSendToDummy($Dummy4)
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")
If BitAND($dwFlags, $HICF_LEAVING) = $HICF_LEAVING Then
MemoWrite("$HICF_LEAVING: " & $i_idOld)
Else
Switch $i_idNew
Case $idNew
;----------------------------------------------------------------------------------------------
MemoWrite("$TBN_HOTITEMCHANGE: $idNew")
;----------------------------------------------------------------------------------------------
Case $idOpen
;----------------------------------------------------------------------------------------------
MemoWrite("$TBN_HOTITEMCHANGE: $idOpen")
;----------------------------------------------------------------------------------------------
Case $idSave
;----------------------------------------------------------------------------------------------
MemoWrite("$TBN_HOTITEMCHANGE: $idSave")
;----------------------------------------------------------------------------------------------
Case $idHelp
;----------------------------------------------------------------------------------------------
MemoWrite("$TBN_HOTITEMCHANGE: $idHelp")
;----------------------------------------------------------------------------------------------
EndSwitch
EndIf
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Hier nochmal ein Beispiel mit GUICtrlToolbar_IsButtonPressed.
#include <GuiToolbar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $hGUI, $hToolbar, $aStrings[4]
Local Enum $idNew = 1000, $idOpen, $idSave, $idHelp
; Create GUI
$hGUI = GUICreate("Toolbar", 400, 300)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
GUISetState()
; Add standard system bitmaps
Switch _GUICtrlToolbar_GetBitmapFlags($hToolbar)
Case 0
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_SMALL_COLOR)
Case 2
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
EndSwitch
; Add strings
$aStrings[0] = _GUICtrlToolbar_AddString($hToolbar, "&New Button")
$aStrings[1] = _GUICtrlToolbar_AddString($hToolbar, "&Open Button")
$aStrings[2] = _GUICtrlToolbar_AddString($hToolbar, "&Save Button")
$aStrings[3] = _GUICtrlToolbar_AddString($hToolbar, "&Help Button")
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, $aStrings[0])
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN, $aStrings[1])
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE, $aStrings[2])
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP, $aStrings[3])
Do
if _GUICtrlToolbar_IsButtonPressed($hToolbar, $idNew) then MsgBox(0, "Info", "New wurde gedrückt")
if _GUICtrlToolbar_IsButtonPressed($hToolbar, $idOpen) then MsgBox(0, "Info", "FileOpen wurde gedrückt")
if _GUICtrlToolbar_IsButtonPressed($hToolbar, $idSave) then MsgBox(0, "Info", "FileSave wurde gedrückt")
if _GUICtrlToolbar_IsButtonPressed($hToolbar, $idHelp) then MsgBox(0, "Info", "Help wurde gedrückt")
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
[/autoit]Die Beispiele sind zwar gut, aber es wird ein Event schon ausgelöst, obwohl der Mauszeiger nach gedrückt wird... Kann man das nicht so machen wie bei Scite die Buttons?
Ach bitte, so schwer kann es doch nicht sein
Ich habe das hier gefunden, aber es funktioniert nicht richtig...
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$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
;----------------------------------------------------------------------------------------------
MsgBox(0,"", _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem))
;----------------------------------------------------------------------------------------------
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
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Deepred ich weiß ja nicht wo bei dir das Problem liegt . Habe jetzt mal das 1. Beispielscript verkürzt . Es wird nichts mehr in das Memo geschrieben .
#include <GuiToolbar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiMenu.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
Global $hToolbar, $iMemo
Global $iItem ; Command identifier of the button associated with the notification.
Global $Dummy1, $Dummy2, $Dummy3, $Dummy4
_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $hGUI, $aSize, $msg
; Create GUI
$hGUI = GUICreate("Toolbar", 400, 300)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
$aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
$iMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 20, 596, 396 - ($aSize[1] + 20), $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
$Dummy3 = GUICtrlCreateDummy()
$Dummy4 = GUICtrlCreateDummy()
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]; Add standard system bitmaps
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0, BitOR($BTNS_DROPDOWN, $BTNS_WHOLEDROPDOWN))
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; Loop until user exits
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Dummy1
MsgBox(0, "Info", "New wurde gedrückt")
Case $Dummy2
MsgBox(0, "Info", "FileOpen wurde gedrückt")
Case $Dummy3
MsgBox(0, "Info", "FileSave wurde gedrückt")
Case $Dummy4
MsgBox(0, "Info", "Help wurde gedrückt")
EndSwitch
WEnd
EndFunc ;==>_Main
[/autoit] [autoit][/autoit] [autoit]; Write message to memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
; WM_NOTIFY event handler
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$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
Switch _GUICtrlToolbar_CommandToIndex($hToolbar, $iItem)
Case 0
GUICtrlSendToDummy($Dummy1)
Case 1
GUICtrlSendToDummy($Dummy2)
Case 2
GUICtrlSendToDummy($Dummy3)
Case 4
GUICtrlSendToDummy($Dummy4)
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
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
Edit : Hm, hab nochmal genau gelesen was du willst.
ZitatDie Beispiele sind zwar gut, aber es wird ein Event schon ausgelöst, obwohl der Mauszeiger nach gedrückt wird... Kann man das nicht so machen wie bei Scite die Buttons?
Willst du das erst nach Loslassen der Maus die Message gestartet wird ? Oder was meinst du ?
ZitatWillst du das erst nach Loslassen der Maus die Message gestartet wird ?
Ja. Man klickt auf einen Button ===> Nichts passiert. Man lässt los ===> Und schon erscheint z.b eine MsgBox.
__________________________________
Jetzt hab ich mal deinen Beispiel benutzt, doch es funktioniert immer noch nicht (Script siehe Anhang). Wenn man auf den blauen Kreuzbutton klickt beendet sich das Script...verstehe ich nicht... .und das letzte Button funktioniert nicht.
Wieso funktioniert das nicht????
Also hab das mal getestet. Der Fehler kommt von deinem Icon , frag mich nicht wieso , ist aber so. Tausch mal das Icon um, das Probleme macht und das Script beendet sich nicht mehr. Dein letztes Icon in der Liste kann nicht funzen. Schau dir mal deine Case Schleife bei WM_NOTIFY an . Da hast du die 3 übersprungen. Ausserdem solltest du die beiden WM_NOTIFY BEFEHLE zusammenfassen, sonst wird nur der letzte den du mit GUIRegisterMsg gesetzt hast ausgeführt .
Edit: Der Fehler liegt nicht am ICON selbst, sondern nur an der Position in der ImageListe. Aus irgendwelchen, unerfindlichen Gründen wird beim drücken des 3. ICONS die GuiMessage -3 abgefeurt. Also $GUI_EVENT_CLOSE.
ZitatDer Fehler kommt von deinem Icon , frag mich nicht wieso , ist aber so
Wie soll das denn gehen^^. Wenn ich das exit-Befehl nach $GUI_Event_Close entferne, wird es nicht beendet.
ZitatAusserdem solltest du die beiden WM_NOTIFY BEFEHLE zusammenfassen, sonst wird nur der letzte den du mit GUIRegisterMsg gesetzt hast ausgeführt .
Und wie soll man das zusammenfassen? Kenn mich mit den ganzen DllStruct...nicht aus
Habe das ganze für dich mal lauffähig gemacht . Beachte mal die Variablendeklaration für die Toolbar Items !! Hab auch die Case Auswahl in der WM_NOTIFY angepaßt. Die Seperatoren zählen beim Index mit . Deweiteren habe ich deine 2 WM_NOTIFY Funktionen mal zusammengeschmissen .
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Au3check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: Burak Keskin
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <GuiReBar.au3>
#include <GuiToolBar.au3>
#include <GuiComboBox.au3>
#include <GuiDateTimePicker.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <ListViewConstants.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
Global $CurrentDirectory
;~ Global Enum $idNew = 1000
Global $iItem ; Command identifier of the button associated with the notification.
Global Enum $item1 = 1000, $item2, $item3, $item4, $item5, $item6, $item7, $item8, $item9, $item10, $item11
$hgui = GUICreate("Music Manager", 683, 423, 192, 124)
;~ GUISetBkColor(0xFFFFFF)
GUICtrlCreateGraphic(0, 50, 683, 379)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_Disable)
GUICtrlCreateMenu("Datei")
GUICtrlCreateMenu("Bearbeiten")
GUICtrlCreateMenu("Extras")
$hToolbar = _GUICtrlToolbar_Create($hgui)
[/autoit] [autoit][/autoit] [autoit]$hImage = _GUIImageList_Create(32, 32, 5, 3, 3)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Previous.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Next.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\add.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Edit.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Delete.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Stop.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Play.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\pAUSE.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUICtrlToolbar_SetImageList($hToolbar, $hImage)
[/autoit] [autoit][/autoit] [autoit]_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_AddButton($hToolbar, $item9,
_GUICtrlToolbar_AddButton($hToolbar, $item10, 9)
_GUICtrlToolbar_AddButton($hToolbar, $item11, 10)
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
$Dummy3 = GUICtrlCreateDummy()
$Dummy4 = GUICtrlCreateDummy()
$Dummy5 = GUICtrlCreateDummy()
$Dummy6 = GUICtrlCreateDummy()
$Dummy7 = GUICtrlCreateDummy()
$Dummy8 = GUICtrlCreateDummy()
$Dummy9 = GUICtrlCreateDummy()
$Dummy10 = GUICtrlCreateDummy()
$Dummy11 = GUICtrlCreateDummy()
$ListView1 = GUICtrlCreateListView("Navigation", 0, 40, 683, 379)
GUICtrlSetStyle($ListView1, $LVS_ICON)
_GUICtrlListView_AddItem($ListView1, "Radiosender", 0)
_GUICtrlListView_AddItem($ListView1, "Musik", 1)
_GUICtrlListView_AddItem($ListView1, "Favouriten", 2)
$hImage = _GUIImageList_Create(48, 48, 5, 1) ; Icons 32x32, Farbtiefe 5: 32bit, 1: verwende Transparenz)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Radio2.ico", 48)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\MP3.ico", 48)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Favouriten.ico", 48); in hImage ordner.ico, Index 0, das Große Icon (32x32) einfügen
_GUICtrlListView_SetImageList($ListView1, $hImage, 0)
$ListView2 = GUICtrlCreateListView("Name des Senders:|Genre|Bewertung|Internetadresse:", 0, 44, 683, 379)
_GUICtrlListView_SetColumnWidth($ListView2, 0, 170)
_GUICtrlListView_SetColumnWidth($ListView2, 1, 100)
_GUICtrlListView_SetColumnWidth($ListView2, 2, 70)
_GUICtrlListView_SetColumnWidth($ListView2, 3, 322)
_Set_Sender($ListView2)
GUICtrlSetState($ListView2, $GUI_Hide)
$ListView3 = GUICtrlCreateListView("Titel|Länge|Bewertung|Bitrate|Größe", 0, 44, 683, 379)
_GUICtrlListView_SetColumnWidth($ListView3, 0, 460)
_GUICtrlListView_SetColumnWidth($ListView3, 1, 50)
_GUICtrlListView_SetColumnWidth($ListView3, 2, 70)
_GUICtrlListView_SetColumnWidth($ListView3, 3, 50)
GUICtrlCreateListViewItem("Eminem|17:60|*****|180MB|5Gb", $ListView3)
GUICtrlSetState($ListView3, $GUI_Hide)
$ListView4 = GUICtrlCreateListView("Titel|Länge|Bewertung|Bitrate|Größe", 0, 44, 683, 379)
GUICtrlSetState($ListView4, $GUI_Hide)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") ;Das hier weglassen, damit die ListViews funktionieren!!!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$CurrentDirectory = "Startseite"
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
ConsoleWrite($nMsg & @LF)
Case $GUI_EVENT_CLOSE
Exit
;~ _SendData($Command, $Remote_ReceiverID_Name)
Case $Dummy1
MsgBox(0, "Info", "1")
Case $Dummy2
MsgBox(0, "Info", "2")
Case $Dummy3
MsgBox(0, "Info", "3")
Case $Dummy4
MsgBox(0, "Info", "4")
Case $Dummy5
MsgBox(0, "Info", "5")
Case $Dummy6
MsgBox(0, "Info", "6")
Case $Dummy7
MsgBox(0, "Info", "7")
Case $Dummy8
MsgBox(0, "Info", "8")
Case $Dummy9
MsgBox(0, "Info", "9")
Case $Dummy10
MsgBox(0, "Info", "10")
Case $Dummy11
MsgBox(0, "Info", "11")
EndSwitch
WEnd
Func _Show_Sender()
GUICtrlSetState($ListView2, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Radiosender"
EndFunc ;==>_Show_Sender
Func _Show_Musik()
GUICtrlSetState($ListView3, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Musik"
EndFunc ;==>_Show_Musik
Func _Show_Favouriten()
GUICtrlSetState($ListView4, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
$CurrentDirectory = "Favouriten"
EndFunc ;==>_Show_Favouriten
Func _Show_Startseite()
GUICtrlSetState($ListView1, $GUI_Show)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Startseite"
EndFunc ;==>_Show_Startseite
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hwndFrom = DllStructGetData($tNMHDR, "hWndFrom")
$idFrom = DllStructGetData($tNMHDR, "IDFrom")
$code = DllStructGetData($tNMHDR, "Code")
Switch $hwndFrom
Case $hToolbar
Switch $code
Case $NM_LDOWN
Switch _GUICtrlToolbar_CommandToIndex($hToolbar, $iItem)
Case 0
GUICtrlSendToDummy($Dummy1)
Case 1
GUICtrlSendToDummy($Dummy2)
Case 3
GUICtrlSendToDummy($Dummy3)
Case 4
GUICtrlSendToDummy($Dummy4)
Case 5
GUICtrlSendToDummy($Dummy5)
Case 7
GUICtrlSendToDummy($Dummy6)
Case 8
GUICtrlSendToDummy($Dummy7)
Case 9
GUICtrlSendToDummy($Dummy8)
Case 10
GUICtrlSendToDummy($Dummy9)
Case 11
GUICtrlSendToDummy($Dummy10)
Case 12
GUICtrlSendToDummy($Dummy11)
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
EndSwitch
Switch $idFrom
Case $ListView1
Select
Case $code = $NM_DBLCLK
$getselectedplugin1 = _GUICtrlListView_GetSelectionMark($ListView1)
If $getselectedplugin1 = -1 Then
Else
$Selected_Item = _GUICtrlListView_GetItemText($ListView1, $getselectedplugin1)
If $Selected_Item = "Radiosender" Then
GUICtrlSetState($ListView2, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
ElseIf $Selected_Item = "Musik" Then
GUICtrlSetState($ListView3, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
ElseIf $Selected_Item = "Favouriten" Then
GUICtrlSetState($ListView4, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
EndIf
EndIf
EndSelect
Case $ListView2
Select
Case $event = $NM_DBLCLK
$getselectedplugin1 = _GUICtrlListView_GetSelectionMark($ListView2)
If $getselectedplugin1 = -1 Then
Else
$Selected_Item = _GUICtrlListView_GetItemTextArray($ListView2)
_SendData('New_Media("' & $Selected_Item[4] & '"', $Remote_ReceiverID_Name)
_SendData('_SetStatus("Play")', $Remote_ReceiverID_Name)
EndIf
EndSelect
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
; #FUNCTION# ====================================================================================================================
; Name...........: _GUIImageList_AddIcon
; Description ...: Adds an icon to an image list
; Syntax.........: _GUIImageList_AddIcon($hWnd, $sFile[, $iIndex=0[, $fLarge = False])
; Parameters ....: $hWnd - Handle to the control
; $sFile - Path to the icon that contains the image
; $iIndex - Specifies the zero-based index of the icon to extract
; $fLarge - Extract Large Icon
; Return values .: Success - The index of the image
; Failrue - -1
; Author ........: Paul Campbell (PaulIA)
; Modified.......: Prog@ndy
; Remarks .......:
; Related .......: _GUIImageList_Add, _GUIImageList_AddBitmap
; Link ..........;
; Example .......; Yes
; ===============================================================================================================================
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
Func _Set_Sender($ListView)
_GUICtrlListView_DeleteAllItems($ListView)
$readsections33 = IniReadSection(@ScriptDir & "\sender.ini", "Index")
$readsections44 = IniReadSection(@ScriptDir & "\sender.ini", "Sendername")
$readsections55 = IniReadSection(@ScriptDir & "\sender.ini", "Senderurl")
$readsections66 = IniReadSection(@ScriptDir & "\sender.ini", "Genre")
$readsections77 = IniReadSection(@ScriptDir & "\sender.ini", "bewertung")
For $varforone5 = 1 To $readsections33[0][0]
GUICtrlCreateListViewItem($readsections44[$varforone5][1] & "|" & $readsections66[$varforone5][1] & "|" & $readsections77[$varforone5][1] & "|" & $readsections55[$varforone5][1], $ListView)
Next
EndFunc ;==>_Set_Sender
Ich habe hier ein Beispiel für $NM_CLICK (nicht in dein Skript eingebaut)
#include <GuiToolbar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiMenu.au3>
Opt('MustDeclareVars', 1)
[/autoit] [autoit][/autoit] [autoit]$Debug_TB = False ; Check ClassName being passed to functions, set to True and use a handle to another control to see it work
[/autoit] [autoit][/autoit] [autoit]Global Enum $idNew = 1000, $idOpen, $idSave, $idHelp
Global $hToolbar, $iMemo
Global $Dummy1, $Dummy2, $Dummy3, $Dummy4
_Main()
[/autoit] [autoit][/autoit] [autoit]Func _Main()
Local $hGUI, $aSize, $msg
; Create GUI
$hGUI = GUICreate("Toolbar", 400, 300)
$hToolbar = _GUICtrlToolbar_Create($hGUI)
$aSize = _GUICtrlToolbar_GetMaxSize($hToolbar)
$iMemo = GUICtrlCreateEdit("", 2, $aSize[1] + 20, 596, 396 - ($aSize[1] + 20), $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
$Dummy3 = GUICtrlCreateDummy()
$Dummy4 = GUICtrlCreateDummy()
GUISetState()
GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY")
[/autoit] [autoit][/autoit] [autoit]; Add standard system bitmaps
_GUICtrlToolbar_AddBitmap($hToolbar, 1, -1, $IDB_STD_LARGE_COLOR)
; Add buttons
_GUICtrlToolbar_AddButton($hToolbar, $idNew, $STD_FILENEW, 0, BitOR($BTNS_DROPDOWN, $BTNS_WHOLEDROPDOWN))
_GUICtrlToolbar_AddButton($hToolbar, $idOpen, $STD_FILEOPEN)
_GUICtrlToolbar_AddButton($hToolbar, $idSave, $STD_FILESAVE)
_GUICtrlToolbar_AddButtonSep($hToolbar)
_GUICtrlToolbar_AddButton($hToolbar, $idHelp, $STD_HELP)
; Loop until user exits
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
Case $Dummy1
MsgBox(0, "Info", "New wurde gedrückt")
Case $Dummy2
MsgBox(0, "Info", "FileOpen wurde gedrückt")
Case $Dummy3
MsgBox(0, "Info", "FileSave wurde gedrückt")
Case $Dummy4
MsgBox(0, "Info", "Help wurde gedrückt")
EndSwitch
WEnd
EndFunc ;==>_Main
[/autoit] [autoit][/autoit] [autoit]; Write message to memo
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
; WM_NOTIFY event handler
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $hwndFrom, $code, $idFrom, $iItem
Local $tNMTOOLBAR, $tNMACTIVE
$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
;----------------------------------------------------------------------------------------------
MemoWrite("$NM_CLICK: Clicked Item: " & $iItem & " at index: " & _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem))
;----------------------------------------------------------------------------------------------
Switch _GUICtrlToolbar_CommandToIndex ($hToolbar, $iItem)
Case 0
GUICtrlSendToDummy($Dummy1)
Case 1
GUICtrlSendToDummy($Dummy2)
Case 2
GUICtrlSendToDummy($Dummy3)
Case 4
GUICtrlSendToDummy($Dummy4)
EndSwitch
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
@progandy OMG, hättest du des net schon früher posten können ? Dann hätte ich mir die ganze Grübelei ersparen können. Hm, jetzt werd ich auch mal Toolbars in meine Scripte einbauen, weiß ja jetzt wie des geht.
@Deepred hab $NM_CLICK mal in dein Script eingebaut
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Run_Au3check=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.0.0
Author: Burak Keskin
Script Function:
Template AutoIt script.
#ce ----------------------------------------------------------------------------
; Script Start - Add your code below here
[/autoit] [autoit][/autoit] [autoit]#include <GuiReBar.au3>
#include <GuiToolBar.au3>
#include <GuiComboBox.au3>
#include <GuiDateTimePicker.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <GuiConstantsEx.au3>
#include <ListViewConstants.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
Global $CurrentDirectory
;~ Global Enum $idNew = 1000
Global $iItem ; Command identifier of the button associated with the notification.
Global Enum $item1 = 1000, $item2, $item3, $item4, $item5, $item6, $item7, $item8, $item9, $item10, $item11
$hgui = GUICreate("Music Manager", 683, 423, 192, 124)
;~ GUISetBkColor(0xFFFFFF)
GUICtrlCreateGraphic(0, 50, 683, 379)
GUICtrlSetBkColor(-1, 0xFFFFFF)
GUICtrlSetState(-1, $GUI_Disable)
GUICtrlCreateMenu("Datei")
GUICtrlCreateMenu("Bearbeiten")
GUICtrlCreateMenu("Extras")
$hToolbar = _GUICtrlToolbar_Create($hgui)
[/autoit] [autoit][/autoit] [autoit]$hImage = _GUIImageList_Create(32, 32, 5, 3, 3)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Previous.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Next.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\add.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Edit.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Delete.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Stop.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Play.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\pAUSE.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Img\Calendar.ico")
_GUICtrlToolbar_SetImageList($hToolbar, $hImage)
[/autoit] [autoit][/autoit] [autoit]_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_AddButton($hToolbar, $item9,
_GUICtrlToolbar_AddButton($hToolbar, $item10, 9)
_GUICtrlToolbar_AddButton($hToolbar, $item11, 10)
$Dummy1 = GUICtrlCreateDummy()
$Dummy2 = GUICtrlCreateDummy()
$Dummy3 = GUICtrlCreateDummy()
$Dummy4 = GUICtrlCreateDummy()
$Dummy5 = GUICtrlCreateDummy()
$Dummy6 = GUICtrlCreateDummy()
$Dummy7 = GUICtrlCreateDummy()
$Dummy8 = GUICtrlCreateDummy()
$Dummy9 = GUICtrlCreateDummy()
$Dummy10 = GUICtrlCreateDummy()
$Dummy11 = GUICtrlCreateDummy()
$ListView1 = GUICtrlCreateListView("Navigation", 0, 40, 683, 379)
GUICtrlSetStyle($ListView1, $LVS_ICON)
_GUICtrlListView_AddItem($ListView1, "Radiosender", 0)
_GUICtrlListView_AddItem($ListView1, "Musik", 1)
_GUICtrlListView_AddItem($ListView1, "Favouriten", 2)
$hImage = _GUIImageList_Create(48, 48, 5, 1) ; Icons 32x32, Farbtiefe 5: 32bit, 1: verwende Transparenz)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Radio2.ico", 48)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\MP3.ico", 48)
_GUIImageList_AddIconSize($hImage, @ScriptDir & "\Favouriten.ico", 48); in hImage ordner.ico, Index 0, das Große Icon (32x32) einfügen
_GUICtrlListView_SetImageList($ListView1, $hImage, 0)
$ListView2 = GUICtrlCreateListView("Name des Senders:|Genre|Bewertung|Internetadresse:", 0, 44, 683, 379)
_GUICtrlListView_SetColumnWidth($ListView2, 0, 170)
_GUICtrlListView_SetColumnWidth($ListView2, 1, 100)
_GUICtrlListView_SetColumnWidth($ListView2, 2, 70)
_GUICtrlListView_SetColumnWidth($ListView2, 3, 322)
_Set_Sender($ListView2)
GUICtrlSetState($ListView2, $GUI_Hide)
$ListView3 = GUICtrlCreateListView("Titel|Länge|Bewertung|Bitrate|Größe", 0, 44, 683, 379)
_GUICtrlListView_SetColumnWidth($ListView3, 0, 460)
_GUICtrlListView_SetColumnWidth($ListView3, 1, 50)
_GUICtrlListView_SetColumnWidth($ListView3, 2, 70)
_GUICtrlListView_SetColumnWidth($ListView3, 3, 50)
GUICtrlCreateListViewItem("Eminem|17:60|*****|180MB|5Gb", $ListView3)
GUICtrlSetState($ListView3, $GUI_Hide)
$ListView4 = GUICtrlCreateListView("Titel|Länge|Bewertung|Bitrate|Größe", 0, 44, 683, 379)
GUICtrlSetState($ListView4, $GUI_Hide)
GUISetState(@SW_SHOW)
[/autoit] [autoit][/autoit] [autoit]GUIRegisterMsg($WM_NOTIFY, "_WM_NOTIFY") ;Das hier weglassen, damit die ListViews funktionieren!!!
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$CurrentDirectory = "Startseite"
[/autoit] [autoit][/autoit] [autoit]While 1
$nMsg = GUIGetMsg()
Switch $nMsg
ConsoleWrite($nMsg & @LF)
Case $GUI_EVENT_CLOSE
Exit
;~ _SendData($Command, $Remote_ReceiverID_Name)
Case $Dummy1
MsgBox(0, "Info", "1")
Case $Dummy2
MsgBox(0, "Info", "2")
Case $Dummy3
MsgBox(0, "Info", "3")
Case $Dummy4
MsgBox(0, "Info", "4")
Case $Dummy5
MsgBox(0, "Info", "5")
Case $Dummy6
MsgBox(0, "Info", "6")
Case $Dummy7
MsgBox(0, "Info", "7")
Case $Dummy8
MsgBox(0, "Info", "8")
Case $Dummy9
MsgBox(0, "Info", "9")
Case $Dummy10
MsgBox(0, "Info", "10")
Case $Dummy11
MsgBox(0, "Info", "11")
EndSwitch
WEnd
Func _Show_Sender()
GUICtrlSetState($ListView2, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Radiosender"
EndFunc ;==>_Show_Sender
Func _Show_Musik()
GUICtrlSetState($ListView3, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Musik"
EndFunc ;==>_Show_Musik
Func _Show_Favouriten()
GUICtrlSetState($ListView4, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
$CurrentDirectory = "Favouriten"
EndFunc ;==>_Show_Favouriten
Func _Show_Startseite()
GUICtrlSetState($ListView1, $GUI_Show)
GUICtrlSetState($ListView2, $GUI_Hide)
GUICtrlSetState($ListView3, $GUI_Hide)
GUICtrlSetState($ListView4, $GUI_Hide)
$CurrentDirectory = "Startseite"
EndFunc ;==>_Show_Startseite
Func _WM_NOTIFY($hWndGUI, $MsgID, $wParam, $lParam)
#forceref $hWndGUI, $MsgID, $wParam
Local $tNMHDR, $event, $hwndFrom, $code, $i_idNew, $dwFlags, $lResult, $idFrom, $i_idOld
Local $tNMTOOLBAR, $tNMTBHOTITEM
$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
GUICtrlSendToDummy($Dummy1)
Case 1
GUICtrlSendToDummy($Dummy2)
Case 3
GUICtrlSendToDummy($Dummy3)
Case 4
GUICtrlSendToDummy($Dummy4)
Case 5
GUICtrlSendToDummy($Dummy5)
Case 7
GUICtrlSendToDummy($Dummy6)
Case 8
GUICtrlSendToDummy($Dummy7)
Case 9
GUICtrlSendToDummy($Dummy8)
Case 10
GUICtrlSendToDummy($Dummy9)
Case 11
GUICtrlSendToDummy($Dummy10)
Case 12
GUICtrlSendToDummy($Dummy11)
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
EndSwitch
Switch $idFrom
Case $ListView1
Select
Case $code = $NM_DBLCLK
$getselectedplugin1 = _GUICtrlListView_GetSelectionMark($ListView1)
If $getselectedplugin1 = -1 Then
Else
$Selected_Item = _GUICtrlListView_GetItemText($ListView1, $getselectedplugin1)
If $Selected_Item = "Radiosender" Then
GUICtrlSetState($ListView2, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
ElseIf $Selected_Item = "Musik" Then
GUICtrlSetState($ListView3, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
ElseIf $Selected_Item = "Favouriten" Then
GUICtrlSetState($ListView4, $GUI_Show)
GUICtrlSetState($ListView1, $GUI_Hide)
EndIf
EndIf
EndSelect
Case $ListView2
Select
Case $event = $NM_DBLCLK
$getselectedplugin1 = _GUICtrlListView_GetSelectionMark($ListView2)
If $getselectedplugin1 = -1 Then
Else
$Selected_Item = _GUICtrlListView_GetItemTextArray($ListView2)
_SendData('New_Media("' & $Selected_Item[4] & '"', $Remote_ReceiverID_Name)
_SendData('_SetStatus("Play")', $Remote_ReceiverID_Name)
EndIf
EndSelect
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_NOTIFY
; #FUNCTION# ====================================================================================================================
; Name...........: _GUIImageList_AddIcon
; Description ...: Adds an icon to an image list
; Syntax.........: _GUIImageList_AddIcon($hWnd, $sFile[, $iIndex=0[, $fLarge = False])
; Parameters ....: $hWnd - Handle to the control
; $sFile - Path to the icon that contains the image
; $iIndex - Specifies the zero-based index of the icon to extract
; $fLarge - Extract Large Icon
; Return values .: Success - The index of the image
; Failrue - -1
; Author ........: Paul Campbell (PaulIA)
; Modified.......: Prog@ndy
; Remarks .......:
; Related .......: _GUIImageList_Add, _GUIImageList_AddBitmap
; Link ..........;
; Example .......; Yes
; ===============================================================================================================================
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
Func _Set_Sender($ListView)
_GUICtrlListView_DeleteAllItems($ListView)
$readsections33 = IniReadSection(@ScriptDir & "\sender.ini", "Index")
$readsections44 = IniReadSection(@ScriptDir & "\sender.ini", "Sendername")
$readsections55 = IniReadSection(@ScriptDir & "\sender.ini", "Senderurl")
$readsections66 = IniReadSection(@ScriptDir & "\sender.ini", "Genre")
$readsections77 = IniReadSection(@ScriptDir & "\sender.ini", "bewertung")
For $varforone5 = 1 To $readsections33[0][0]
GUICtrlCreateListViewItem($readsections44[$varforone5][1] & "|" & $readsections66[$varforone5][1] & "|" & $readsections77[$varforone5][1] & "|" & $readsections55[$varforone5][1], $ListView)
Next
EndFunc ;==>_Set_Sender
Edit
@progandy woher weißt du das mit $tagNMITEMACTIVATE bei einer Toolbar ?
Wäre im Lebkuchentag nicht draufgekommen in der HIlfe steht
ZitatSent by a list-view control when the user activates an item
Danke an euch beiden. Das hat mir sehr viel weitergeholfen. Weiter so
Edit @progandy woher weißt du das mit $tagNMITEMACTIVATE bei einer Toolbar ?
Wäre im Lebkuchentag nicht draufgekommen in der HIlfe steht
Einfach ausprobiert Vielleicht stimmt die Struct nicht, aber es funktioniert auf jeden Fall.
//Edit: Stimmt, das ist falsch. Aber das stimmt in $NM_CLICK (toolbar):
$tNMACTIVE = DllStructCreate($tagNMHDR & ";long_ptr ItemSpec; ulong_ptr ItemData; int X; int Y;long_ptr HitInfo", $lParam) ; $tagNMMOUSE
$iItem = DllStructGetData($tNMACTIVE, "ItemSpec")
If $iItem = -1 Then Return $GUI_RUNDEFMSG