Tag ,
ich habe ein Problem mit einem Script.
Beim Klick auf das Icon sollte eigendlich eine Messagebox erscheinen doch das tut sie nicht :o
Hier das Script zum download:
http://www.workupload.com/file/LFHQLeG
Tag ,
ich habe ein Problem mit einem Script.
Beim Klick auf das Icon sollte eigendlich eine Messagebox erscheinen doch das tut sie nicht :o
Hier das Script zum download:
http://www.workupload.com/file/LFHQLeG
kannst du es einfach nicht als
[autoit]SCRIPT
[/autoit]
posten
"[autoit]" script "[autoit]" syntax (ohne Anführungszeichen)
ich meine keiner lädt sich unbekannte Sachen gern auf den Rechner
kurz aus den Beispielen "umgebaut":
#include "IconDock.au3"
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $iWidth = 800
Global $iHeight = 200
Global $iIconSizeMin = 64
Global $iIconSizeMax = 128
Global $aIcon[8] = [7]
$aIcon[1] = @WindowsDir & "\explorer.exe"
$aIcon[2] = @SystemDir & "\taskmgr.exe"
$aIcon[3] = @SystemDir & "\write.exe"
$aIcon[4] = @SystemDir & "\notepad.exe"
$aIcon[5] = @SystemDir & "\osk.exe"
$aIcon[6] = @SystemDir & "\charmap.exe"
$aIcon[7] = @SystemDir & "\mspaint.exe"
Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]Global $hGui = GUICreate("Resize window", $iWidth, $iHeight, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $hIconDock = _IconDock_Create(0, 0, $iWidth, $iHeight, _
BitOR($IconDock_Align_Horizontal, $IconDock_Center), $IconDock_Up, $iIconSizeMin, $iIconSizeMax, True, $hGui)
_IconDock_SetOffset($hIconDock, 10)
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit]_IconDock_BeginUpdate($hIconDock)
;~ For $i = 1 To $aIcon[0]
$TEst = _IconDock_IconAddFile($hIconDock, $aIcon[1], 0, "_Test", $IconDock_LBUTTONUP)
;GUIctrlSetOnEvent($TEst, "_Test")
;~ Next
_IconDock_EndUpdate($hIconDock)
ConsoleWrite(@CRLF & "> Resize window" & @CRLF)
GUIRegisterMsg($WM_SIZE, "WM_SIZE")
GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO")
While 1
Sleep(50)
WEnd
Func _Test($hID, $iIconIndex, $iEventMsg)
Switch $hID
Case $hIconDock
;ConsoleWrite("+ Icondock 1 - Index of active icon: " & $iIconIndex & @CRLF)
Switch $iEventMsg
Case $IconDock_LBUTTONUP
MsgBox(0,"","a")
EndSwitch
EndSwitch
EndFunc
Func WM_SIZE($hWnd, $Msg, $wParam, $lParam)
Switch $hWnd
Case $hGui
Local $tRect = _WinAPI_GetClientRect($hWnd)
Local $iX = DllStructGetData($tRect, 1)
Local $iY = DllStructGetData($tRect, 2)
Local $iW = DllStructGetData($tRect, 3)
Local $iH = DllStructGetData($tRect, 4)
_IconDock_SetPos($hIconDock, $iX, $iY, $iW, $iH)
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_SIZE
Func WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
Local $MinMax = DllStructCreate("int ptReserved[2]; int ptMaxSize[2]; int ptMaxPosition[2]; int ptMinTrackSize[2]; int ptMaxTrackSize[2];", $lParam)
DllStructSetData($MinMax, 4, $iIconSizeMin*3, 1)
DllStructSetData($MinMax, 4, $iIconSizeMax+$iIconSizeMin, 2)
DllStructSetData($MinMax, 5, 1000, 1)
DllStructSetData($MinMax, 5, 800, 2)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_GETMINMAXINFO
Func _Exit()
_IconDock_Destroy($hIconDock)
Exit
EndFunc ;==>_Exit
Da hat bobekos absolut recht....
Hier ein Lösungsbeispiel:
_IconDock_IconAddFile($hIconDock, $aIcon[1], 0, "_EventFunction", $IconDock_LBUTTONUP) ; neuer Aufruf zur Msgbox
und dann noch die Funktion Func _EventFunction($hID, $iIconIndex, $iEventMsg) einfügen.
Kommt das Deinen Vorstellungen nahe?
#include "IconDock.au3"
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $iWidth = 800
Global $iHeight = 200
Global $iIconSizeMin = 64
Global $iIconSizeMax = 128
Global $aIcon[8] = [7]
$aIcon[1] = @WindowsDir & "\explorer.exe"
$aIcon[2] = @SystemDir & "\taskmgr.exe"
$aIcon[3] = @SystemDir & "\write.exe"
$aIcon[4] = @SystemDir & "\notepad.exe"
$aIcon[5] = @SystemDir & "\osk.exe"
$aIcon[6] = @SystemDir & "\charmap.exe"
$aIcon[7] = @SystemDir & "\mspaint.exe"
Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]Global $hGui = GUICreate("Resize window", $iWidth, $iHeight, Default, Default, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU, $WS_SIZEBOX))
GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
Global $hIconDock = _IconDock_Create(0, 0, $iWidth, $iHeight, _
BitOR($IconDock_Align_Horizontal, $IconDock_Center), $IconDock_Up, $iIconSizeMin, $iIconSizeMax, True, $hGui)
_IconDock_SetOffset($hIconDock, 10)
[/autoit][autoit][/autoit][autoit]GUISetState()
[/autoit][autoit][/autoit][autoit]_IconDock_BeginUpdate($hIconDock)
;~ For $i = 1 To $aIcon[0]
;$TEst = _IconDock_IconAddFile($hIconDock, $aIcon[1])
;GUIctrlSetOnEvent($TEst, "_Test")
_IconDock_IconAddFile($hIconDock, $aIcon[1], 0, "_EventFunction", $IconDock_LBUTTONUP) ; neuer Aufruf zur Msgbox
;~ Next
_IconDock_EndUpdate($hIconDock)
ConsoleWrite(@CRLF & "> Resize window" & @CRLF)
GUIRegisterMsg($WM_SIZE, "WM_SIZE")
GUIRegisterMsg($WM_GETMINMAXINFO, "WM_GETMINMAXINFO")
While 1
Sleep(50)
WEnd
Func _EventFunction($hID, $iIconIndex, $iEventMsg) ; funktion zur Abfrage des Icon
Switch $hID
Case $hIconDock
Switch $iIconIndex
Case 1
MsgBox(0,"Icon gewählt","...hier bin ich ")
EndSwitch
EndSwitch
EndFunc ;==>_EventFunction
Func _Test()
MsgBox(0,"eins","zwei, drei")
EndFunc
Func WM_SIZE($hWnd, $Msg, $wParam, $lParam)
Switch $hWnd
Case $hGui
Local $tRect = _WinAPI_GetClientRect($hWnd)
Local $iX = DllStructGetData($tRect, 1)
Local $iY = DllStructGetData($tRect, 2)
Local $iW = DllStructGetData($tRect, 3)
Local $iH = DllStructGetData($tRect, 4)
_IconDock_SetPos($hIconDock, $iX, $iY, $iW, $iH)
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_SIZE
Func WM_GETMINMAXINFO($hWnd, $Msg, $wParam, $lParam)
Local $MinMax = DllStructCreate("int ptReserved[2]; int ptMaxSize[2]; int ptMaxPosition[2]; int ptMinTrackSize[2]; int ptMaxTrackSize[2];", $lParam)
DllStructSetData($MinMax, 4, $iIconSizeMin*3, 1)
DllStructSetData($MinMax, 4, $iIconSizeMax+$iIconSizeMin, 2)
DllStructSetData($MinMax, 5, 1000, 1)
DllStructSetData($MinMax, 5, 800, 2)
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_GETMINMAXINFO
Func _Exit()
_IconDock_Destroy($hIconDock)
Exit
EndFunc ;==>_Exit