1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. sumsum

Beiträge von sumsum

  • Dominierende Farbe in Bitmap berechnen

    • sumsum
    • 12. März 2013 um 20:18

    Soll das Programm die Farben sozusagen mischen oder wirklich die einzelne Farbe (z.B. 0xFFFFABFF) ausgeben die am häufigsten verwendet wird. Oder soll das das ganze z.B. Rot Grün oder Blau ausgeben?

  • Memory-Leak verhindern

    • sumsum
    • 23. Februar 2013 um 18:52
    [autoit]

    _GDIPlus_ImageLoadFromFile()

    [/autoit]

    Hast du da vielleicht das

    [autoit]

    _GDIPlus_ImageDispose

    [/autoit]

    vergessen?

    Überhaupt sollten auch

    [autoit]

    _GDIPlus_BrushCreateSolid()

    [/autoit]


    und

    [autoit]

    _GDIPlus_PenCreate()

    [/autoit]

    nicht in schleifen aufgerufen werden, erstell sie doch bitte einmal am Anfang und gebe sie wieder frei wenn dein Script beendet wird.

  • Memory-Leak verhindern

    • sumsum
    • 23. Februar 2013 um 18:19

    Kannst du mal den zeichen Part von deinem Code zeigen?
    Weil in dem Teil hier scheint kein Fehler zu sein

  • Skripte laufen unter Windows Server 2008 und 2012 nicht zuverlässig

    • sumsum
    • 23. Februar 2013 um 10:07

    Ich meine mich zu erinnern das ich manchmal Probleme hatte mit RDP und laufenden Autoit Scripts.
    Zumindestens wenn ich mich dann abgemeldet habe. Kann aber auch was anderes gewesen sein^^

  • Ausführen einer Anwendung anhalten.

    • sumsum
    • 22. Februar 2013 um 18:54
    Zitat von Krabat

    das ist nicht so schwer wie man denkt
    du brauchst eigentlich nur einen einzigen Registry eintrag ändern

    wobei ich das nicht als "gut" gelungende Lösung betiteln würde wenn man an solch einer stelle im system arbeitet
    diverse Viren bedienen sich an dieser Stelle (i.d.R. fake Antivirenprogramme und melden dann bei jedem programm das du startest dass es potenziel gefährlich sei und man die Vollversion kaufen muss xD)

    wie das geht steht hier:
    http://antivirus.about.com/od/windowsbasics/a/shellopen.htm
    den registry eintrag müsstest du dann (glaube) so abändern

    Code
    HKEY_CLASSES_ROOT\exefile\shell\open\command
    REG_SZ= C:\Pfad\Programm.exe "%1" %*


    das bewirkt dass dein Programm immer ausgeführt wird, bevor eine .exe gestartet wird und dein programm Ja oder Nein sagen muss

    ich weiß aber nicht wie dein programm dann reagieren muss, weil es wird mit diversen Parametern geöffnet und muss dann irgentwie returnen ob das Programm ausgeführt werden soll oder nicht
    da könnte dir wohl nur ein viren hersteller helfen xD

    aber ich hoffe ich konnte etwas helfen
    mfg Krabat ;)

    Alles anzeigen

    Hab ich schonmal probiert, das problem ist das ich keine Möglichkeit sehe wie ich mit AutoIt dann die exe Datei starten soll ohne das es sich wieder selbst aufruft.

  • Weiter bestehendes Problem mit IE@Create

    • sumsum
    • 22. Februar 2013 um 18:35

    Ich weiß ja nicht ob das Problem noch besteht aber

    [autoit]

    _IEFormSubmit($oForm1)

    [/autoit]

    hat bei mir "auf suchen geklickt"

  • Einträge in ListView via Input's aktuallisieren

    • sumsum
    • 20. Februar 2013 um 12:46

    Pastebin

    Guck mal ob du es verstehst^^

  • GDI+ DrawImageRectRect Zu viele Pixel

    • sumsum
    • 10. Dezember 2012 um 20:29

    Hallo Leute^^,
    nachdem ich jetzt schon stunden lang nach dem dämlichen Fehler gesucht habe wende ich mich mal an euch.
    Im Anhang findet ihr ein Zip Archiv in dem sich ein Beispiel befindet das mein Problem zeigt.
    Nachdem man das Script gestartet hat befinden sich im Script Ordner zwei Bitmaps, eine 16x16 und eine 20x20.
    Allerdings enthalten sie beide nicht das selbe, bei der 20x20 Bitmap wird aus mir nicht erklärbaren Gründen noch eine Reihe und eine Spalte mehr des Tilesets gezeichnet (Sieht man in der untersten Pixel Reihe). Beim 16x16 funktioniert alles wie es sollte.

    Hoffe das jemand die Lösung findet^^,

    sumsum

    Dateien

    Example.zip 298,24 kB – 353 Downloads
  • GDI+ richtig verwendet?

    • sumsum
    • 6. September 2012 um 17:11

    Ok hab ne Lösung gefunden die das ganze deutlich schneller macht (Braucht auf meinem PC dann noch etwa 8 Sekunden.
    Ignorier einfach meine andere^^

    [autoit]

    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #include <Timers.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $n = 50
    Global $components = $n * $n
    Global $id[$components]
    Global $cells[$n][$n]
    Global $Graphics[$n][$n]
    Global $tsample = 10000000
    Global $thr = 0.592746
    Global $time = 0
    Global $akt_thr = 0

    [/autoit][autoit][/autoit][autoit]

    $fac = 5
    $Form = GUICreate("Simulation {" & $n * $n & "}", $n * $fac, $n * $fac + 50, 100, 100)
    $Label_Comp = GUICtrlCreateLabel("Components: " & $components, 10, $n * $fac + 10, 200, 17)
    $Label_CT = GUICtrlCreateLabel("Cur. Threshold: 0", 10, $n * $fac + 30, 200, 17)
    $Label_T = GUICtrlCreateLabel("Time converge: ", 120, $n * $fac + 10, 200, 17)
    GUICtrlSetColor(-1, 0x000080)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    _GDIPlus_Startup()

    [/autoit][autoit][/autoit][autoit]

    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($n * $fac, $n * $fac + 50, $hGraphic)
    Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    [/autoit][autoit][/autoit][autoit]

    $hBrushBlue = _GDIPlus_BrushCreateSolid(0xFFFF0000)
    $hBrushB = _GDIPlus_BrushCreateSolid(0xFF000000)
    For $i = 0 To $n - 1
    For $j = 0 To $n - 1
    _GDIPlus_GraphicsFillRect($hBuffer, $i * $fac, $j * $fac, $fac, $fac, $hBrushBlue)
    Next
    Next

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To $components - 1
    $id[$i] = $i
    Next

    [/autoit][autoit][/autoit][autoit]

    For $k = 0 To $n - 2
    unite(cell($k, 0), cell($k + 1, 0))
    unite(cell($k, $n - 1), cell($k + 1, $n - 1))
    Next
    For $k = 0 To $n - 1
    $cells[$k][0] = True
    $cells[$k][$n - 1] = True
    Next
    _show()
    $t = _simulate()
    ConsoleWrite("treshold: " & (1 * $t / ($n * $n)) & " - t: " & $t & " - time: " & $time & " - akt_thr: " & $akt_thr & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _simulate()
    $t = 0
    While True
    Local $stt = _Timer_Init()
    If _root(cell(0, 0), cell($n - 1, $n - 1)) Then Return $t
    _step()
    ;_show()
    _GDIPlus_GraphicsDrawImage($hGraphic,$hBitmap,0,0)

    [/autoit][autoit][/autoit][autoit]

    $t += 1
    Local $tsample = _Timer_Diff($stt)
    $time += $tsample
    $akt_thr = ($thr - ($t / ($n * $n))) * $tsample
    GUICtrlSetData($Label_T, "Time converge: " & Round($akt_thr, 2))
    GUICtrlSetData($Label_CT, "Cur. Threshold: " & ($t / ($n * $n)))
    WEnd
    EndFunc ;==>_simulate

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _show()
    For $r = 0 To $n - 1
    For $p = 0 To $n - 1
    If $cells[$r][$p] Then
    _GDIPlus_GraphicsFillRect($hBuffer, $r * $fac, $p * $fac, $fac, $fac, $hBrushB)
    EndIf
    Next
    Next
    EndFunc ;==>_show

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    Func _step()
    Local $m, $h
    While $cells[$m][$h]
    $m = Random(0, $n - 1, 1)
    $h = Random(0, $n - 1, 1)
    WEnd
    $cells[$m][$h] = True
    _GDIPlus_GraphicsFillRect($hBuffer, $m * $fac, $h * $fac, $fac, $fac, $hBrushB)
    If $m < $n - 1 And $cells[$m + 1][$h] Then unite(cell($m, $h), cell($m + 1, $h))
    If $m > 0 And $cells[$m - 1][$h] Then unite(cell($m, $h), cell($m - 1, $h))
    If $h < $n - 1 And $cells[$m][$h + 1] Then unite(cell($m, $h), cell($m, $h + 1))
    If $h > 0 And $cells[$m][$h - 1] Then unite(cell($m, $h), cell($m, $h - 1))
    EndFunc ;==>_step

    [/autoit][autoit][/autoit][autoit]

    Func cell($i, $j)
    Return $i + $j * $n
    EndFunc ;==>cell

    [/autoit][autoit][/autoit][autoit]

    Func _find($x)
    While $x <> $id[$x]
    $id[$x] = $id[$id[$x]]
    $x = $id[$x]
    WEnd
    Return $x
    EndFunc ;==>_find

    [/autoit][autoit][/autoit][autoit]

    Func _root($p, $q)
    Return _find($p) == _find($q)
    EndFunc ;==>_root

    [/autoit][autoit][/autoit][autoit]

    Func unite($p, $q)
    $i = _find($p)
    $j = _find($q)
    If $i == $j Then Return
    $id[$i] = $j
    $components -= 1
    GUICtrlSetData($Label_Comp, "Components: " & $components)
    EndFunc ;==>unite

    [/autoit]

    Die einzelnen Quadrate werden nur einmal auf den Buffer gezeichnet was das ganze deutlich beschleunigt

  • GDI+ richtig verwendet?

    • sumsum
    • 6. September 2012 um 16:57

    Ja du verwendest es falsch^^. Einerseits musst du nicht jedes mal wenn du etwas zeichnest

    [autoit]

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form)

    [/autoit]

    aufrufen, das ganze einmal am Script Anfang sollte reichen. Außerdem solltest du einen "Buffer" verwenden. Ich habe mal einen in dein Script eingebaut, vielleicht hilft es dir ja^^.

    [autoit]

    #include <Array.au3>
    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GDIPlus.au3>
    #include <Timers.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $n = 50
    Global $components = $n * $n
    Global $id[$components]
    Global $cells[$n][$n]
    Global $Graphics[$n][$n]
    Global $tsample = 10000000
    Global $thr = 0.592746
    Global $time = 0
    Global $akt_thr = 0

    [/autoit][autoit][/autoit][autoit]

    $fac = 5
    $Form = GUICreate("Simulation {" & $n * $n & "}", $n * $fac, $n * $fac + 50, 100, 100)
    $Label_Comp = GUICtrlCreateLabel("Components: " & $components, 10, $n * $fac + 10, 200, 17)
    $Label_CT = GUICtrlCreateLabel("Cur. Threshold: 0", 10, $n * $fac + 30, 200, 17)
    $Label_T = GUICtrlCreateLabel("Time converge: ", 120, $n * $fac + 10, 200, 17)
    GUICtrlSetColor(-1, 0x000080)
    GUISetState(@SW_SHOW)

    [/autoit][autoit][/autoit][autoit]

    _GDIPlus_Startup()

    [/autoit][autoit][/autoit][autoit]

    Global $hGraphic = _GDIPlus_GraphicsCreateFromHWND($Form)
    Global $hBitmap = _GDIPlus_BitmapCreateFromGraphics($n * $fac, $n * $fac + 50, $hGraphic)
    Global $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

    [/autoit][autoit][/autoit][autoit]

    $hBrushBlue = _GDIPlus_BrushCreateSolid(0xFFFF0000)
    $hBrushB = _GDIPlus_BrushCreateSolid(0xFF000000)
    For $i = 0 To $n - 1
    For $j = 0 To $n - 1
    _GDIPlus_GraphicsFillRect($hBuffer, $i * $fac, $j * $fac, $fac, $fac, $hBrushBlue)
    Next
    Next

    [/autoit][autoit][/autoit][autoit]

    For $i = 0 To $components - 1
    $id[$i] = $i
    Next

    [/autoit][autoit][/autoit][autoit]

    For $k = 0 To $n - 2
    unite(cell($k, 0), cell($k + 1, 0))
    unite(cell($k, $n - 1), cell($k + 1, $n - 1))
    Next
    For $k = 0 To $n - 1
    $cells[$k][0] = True
    $cells[$k][$n - 1] = True
    Next

    [/autoit][autoit][/autoit][autoit]

    $t = _simulate()
    ConsoleWrite("treshold: " & (1 * $t / ($n * $n)) & " - t: " & $t & " - time: " & $time & " - akt_thr: " & $akt_thr & @CRLF)

    [/autoit][autoit][/autoit][autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndSwitch
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func _simulate()
    $t = 0
    While True
    Local $stt = _Timer_Init()
    If _root(cell(0, 0), cell($n - 1, $n - 1)) Then Return $t
    _step()
    _show()
    _GDIPlus_GraphicsDrawImage($hGraphic,$hBitmap,0,0)

    [/autoit][autoit][/autoit][autoit]

    $t += 1
    Local $tsample = _Timer_Diff($stt)
    $time += $tsample
    $akt_thr = ($thr - ($t / ($n * $n))) * $tsample
    GUICtrlSetData($Label_T, "Time converge: " & Round($akt_thr, 2))
    GUICtrlSetData($Label_CT, "Cur. Threshold: " & ($t / ($n * $n)))
    WEnd
    EndFunc ;==>_simulate

    [/autoit][autoit][/autoit][autoit]

    Func _show()
    For $r = 0 To $n - 1
    For $p = 0 To $n - 1
    If $cells[$r][$p] Then
    _GDIPlus_GraphicsFillRect($hBuffer, $r * $fac, $p * $fac, $fac, $fac, $hBrushB)
    EndIf
    Next
    Next
    EndFunc ;==>_show

    [/autoit][autoit][/autoit][autoit]

    Func _step()
    Local $m, $h
    While $cells[$m][$h]
    $m = Random(0, $n - 1, 1)
    $h = Random(0, $n - 1, 1)
    WEnd
    $cells[$m][$h] = True
    If $m < $n - 1 And $cells[$m + 1][$h] Then unite(cell($m, $h), cell($m + 1, $h))
    If $m > 0 And $cells[$m - 1][$h] Then unite(cell($m, $h), cell($m - 1, $h))
    If $h < $n - 1 And $cells[$m][$h + 1] Then unite(cell($m, $h), cell($m, $h + 1))
    If $h > 0 And $cells[$m][$h - 1] Then unite(cell($m, $h), cell($m, $h - 1))
    EndFunc ;==>_step

    [/autoit][autoit][/autoit][autoit]

    Func cell($i, $j)
    Return $i + $j * $n
    EndFunc ;==>cell

    [/autoit][autoit][/autoit][autoit]

    Func _find($x)
    While $x <> $id[$x]
    $id[$x] = $id[$id[$x]]
    $x = $id[$x]
    WEnd
    Return $x
    EndFunc ;==>_find

    [/autoit][autoit][/autoit][autoit]

    Func _root($p, $q)
    Return _find($p) == _find($q)
    EndFunc ;==>_root

    [/autoit][autoit][/autoit][autoit]

    Func unite($p, $q)
    $i = _find($p)
    $j = _find($q)
    If $i == $j Then Return
    $id[$i] = $j
    $components -= 1
    GUICtrlSetData($Label_Comp, "Components: " & $components)
    EndFunc ;==>unite

    [/autoit]

    Und wegen der Geschwindigkeit, ist das Problem nicht einfach nur das vorallem gegen Ende bei den Randoms einfach viele schon schwarze quadrate getroffen werden?

  • [Power Basic] #EINS | #ZWEI Bedeutung

    • sumsum
    • 17. Juli 2012 um 22:42

    Hallo Leute^^,
    falls hier jemand unterwegs ist der Power Basic kann,
    könnte eher mir erklären was mit den Variablen in dieser zeile passiert?

    #AD_APPLY_ALL = #AD_APPLY_SAVE | #AD_APPLY_HTMLGEN | #AD_APPLY_REFRESH


    Mir gehts darum wie sich #AD_APPLY_ALL am schluss zusammensetzt.


    Danke schonmal im vorraus^^


    EDIT: War BitOr

  • Bilder Listview

    • sumsum
    • 17. Juli 2012 um 18:42

    Danke das klappt wunderbar^^

    Jetz bleiben noch die Comboboxen auf den Bildern, muss ich die da irgendwie manuell drauf machen oder geht das auch so?

  • Bilder Listview

    • sumsum
    • 17. Juli 2012 um 17:19
    Zitat von Raupi

    Dazu habe ich dir vorhin was in der SB geschrieben.
    Beim Erstellen der Imagelist (_GUIImageList_Create) kannst du das Format angeben, welches du verwenden willst.
    Beispiel aus der Hilfe, es wird aber anstatt 16x16, 32x32 verwendet.

    Spoiler anzeigen
    [autoit]

    #include
    #include
    #include
    #include

    [/autoit] [autoit][/autoit] [autoit]

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

    [/autoit] [autoit][/autoit] [autoit]

    Global $hListView

    [/autoit] [autoit][/autoit] [autoit]

    _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Func _Main()

    [/autoit] [autoit][/autoit] [autoit]

    Local $GUI, $hImage
    $GUI = GUICreate("(UDF Created) ListView Create", 400, 300)

    [/autoit] [autoit][/autoit] [autoit]

    $hListView = _GUICtrlListView_Create($GUI, "", 2, 2, 394, 268)
    _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR( $LVS_EX_FULLROWSELECT,$LVS_ICON ))
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

    [/autoit] [autoit][/autoit] [autoit]

    ; Load images
    $hImage = _GUIImageList_Create(32,32,5)
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 32, 32))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 32, 32))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 32, 32))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

    [/autoit] [autoit][/autoit] [autoit]

    ; Add columns
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)
    _GUICtrlListView_InsertColumn($hListView, 1, "Column 2", 100)
    _GUICtrlListView_InsertColumn($hListView, 2, "Column 3", 100)

    [/autoit] [autoit][/autoit] [autoit]

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 2", 1)
    _GUICtrlListView_AddSubItem($hListView, 0, "Row 1: Col 3", 2)
    _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddSubItem($hListView, 1, "Row 2: Col 2", 1)
    _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)

    [/autoit] [autoit][/autoit] [autoit]

    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    ;~ Local $tBuffer
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

    [/autoit] [autoit][/autoit] [autoit]

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    ;~ Case $LVN_BEGINDRAG ; A drag-and-drop operation involving the left mouse button is being initiated
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_BEGINDRAG" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ ; No return value
    ;~ Case $LVN_BEGINLABELEDIT ; Start of label editing for an item
    ;~ $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    ;~ _DebugPrint("$LVN_BEGINLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    ;~ "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    ;~ "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    ;~ "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    ;~ "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    ;~ "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    ;~ "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    ;~ Return False ; Allow the user to edit the label
    ;~ ;Return True ; Prevent the user from editing the label
    ;~ Case $LVN_BEGINRDRAG ; A drag-and-drop operation involving the right mouse button is being initiated
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_BEGINRDRAG" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ ; No return value
    ;~ Case $LVN_BEGINSCROLL ; A scrolling operation starts, Minium OS WinXP
    ;~ $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
    ;~ _DebugPrint("$LVN_BEGINSCROLL" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->DX:" & @TAB & DllStructGetData($tInfo, "DX") & @LF & _
    ;~ "-->DY:" & @TAB & DllStructGetData($tInfo, "DY"))
    ;~ ; No return value
    Case $LVN_COLUMNCLICK ; A column was clicked
    $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    _DebugPrint("$LVN_COLUMNCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ; No return value
    ;~ Case $LVN_DELETEALLITEMS ; All items in the control are about to be deleted
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_DELETEALLITEMS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ Return True ; To suppress subsequent $LVN_DELETEITEM messages
    ;~ ;Return False ; To receive subsequent $LVN_DELETEITEM messages
    ;~ Case $LVN_DELETEITEM ; An item is about to be deleted
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_DELETEITEM" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ ; No return value
    ;~ Case $LVN_ENDLABELEDIT ; The end of label editing for an item
    ;~ $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    ;~ $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
    ;~ _DebugPrint("$LVN_ENDLABELEDIT" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    ;~ "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    ;~ "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
    ;~ "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
    ;~ "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    ;~ "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    ;~ "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    ;~ "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    ;~ "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    ;~ ; If Text is not empty, return True to set the item's label to the edited text, return false to reject it
    ;~ ; If Text is empty the return value is ignored
    ;~ Return True
    ;~ Case $LVN_ENDSCROLL ; A scrolling operation ends, Minium OS WinXP
    ;~ $tInfo = DllStructCreate($tagNMLVSCROLL, $ilParam)
    ;~ _DebugPrint("$LVN_ENDSCROLL" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->DX:" & @TAB & DllStructGetData($tInfo, "DX") & @LF & _
    ;~ "-->DY:" & @TAB & DllStructGetData($tInfo, "DY"))
    ;~ ; No return value
    ;~ Case $LVN_GETDISPINFO ; Provide information needed to display or sort a list-view item
    ;~ $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    ;~ $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
    ;~ _DebugPrint("$LVN_GETDISPINFO" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    ;~ "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    ;~ "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
    ;~ "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
    ;~ "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    ;~ "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    ;~ "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    ;~ "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    ;~ "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    ;~ ; No return value
    ;~ Case $LVN_GETINFOTIP ; Sent by a large icon view list-view control that has the $LVS_EX_INFOTIP extended style
    ;~ $tInfo = DllStructCreate($tagNMLVGETINFOTIP, $ilParam)
    ;~ $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
    ;~ _DebugPrint("$LVN_GETINFOTIP" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Flags:" & @TAB & DllStructGetData($tInfo, "Flags") & @LF & _
    ;~ "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
    ;~ "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam"))
    ;~ ; No return value
    ;~ Case $LVN_HOTTRACK ; Sent by a list-view control when the user moves the mouse over an item
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_HOTTRACK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ Return 0 ; allow the list view to perform its normal track select processing.
    ;~ ;Return 1 ; the item will not be selected.
    ;~ Case $LVN_INSERTITEM ; A new item was inserted
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_INSERTITEM" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ ; No return value
    ;~ Case $LVN_ITEMACTIVATE ; Sent by a list-view control when the user activates an item
    ;~ $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    ;~ _DebugPrint("$LVN_ITEMACTIVATE" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    ;~ "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ;~ Return 0
    ;~ Case $LVN_ITEMCHANGED ; An item has changed
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_ITEMCHANGED" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ ; No return value
    ;~ Case $LVN_ITEMCHANGING ; An item is changing
    ;~ $tInfo = DllStructCreate($tagNMLISTVIEW, $ilParam)
    ;~ _DebugPrint("$LVN_ITEMCHANGING" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    ;~ "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    ;~ "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    ;~ "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    ;~ "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param"))
    ;~ Return True ; prevent the change
    ;~ ;Return False ; allow the change
    Case $LVN_KEYDOWN ; A key has been pressed
    $tInfo = DllStructCreate($tagNMLVKEYDOWN, $ilParam)
    _DebugPrint("$LVN_KEYDOWN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->VKey:" & @TAB & DllStructGetData($tInfo, "VKey") & @LF & _
    "-->Flags:" & @TAB & DllStructGetData($tInfo, "Flags"))
    ; No return value
    ;~ Case $LVN_MARQUEEBEGIN ; A bounding box (marquee) selection has begun
    ;~ _DebugPrint("$LVN_MARQUEEBEGIN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode)
    ;~ Return 0 ; accept the message
    ;~ ;Return 1 ; quit the bounding box selection
    ;~ Case $LVN_SETDISPINFO ; Update the information it maintains for an item
    ;~ $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam)
    ;~ $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text"))
    ;~ _DebugPrint("$LVN_SETDISPINFO" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode & @LF & _
    ;~ "-->Mask:" & @TAB & DllStructGetData($tInfo, "Mask") & @LF & _
    ;~ "-->Item:" & @TAB & DllStructGetData($tInfo, "Item") & @LF & _
    ;~ "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    ;~ "-->State:" & @TAB & DllStructGetData($tInfo, "State") & @LF & _
    ;~ "-->StateMask:" & @TAB & DllStructGetData($tInfo, "StateMask") & @LF & _
    ;~ "-->Text:" & @TAB & DllStructGetData($tBuffer, "Text") & @LF & _
    ;~ "-->TextMax:" & @TAB & DllStructGetData($tInfo, "TextMax") & @LF & _
    ;~ "-->Image:" & @TAB & DllStructGetData($tInfo, "Image") & @LF & _
    ;~ "-->Param:" & @TAB & DllStructGetData($tInfo, "Param") & @LF & _
    ;~ "-->Indent:" & @TAB & DllStructGetData($tInfo, "Indent") & @LF & _
    ;~ "-->GroupID:" & @TAB & DllStructGetData($tInfo, "GroupID") & @LF & _
    ;~ "-->Columns:" & @TAB & DllStructGetData($tInfo, "Columns") & @LF & _
    ;~ "-->pColumns:" & @TAB & DllStructGetData($tInfo, "pColumns"))
    ;~ ; No return value
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_CLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_DBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    ;~ Case $NM_HOVER ; Sent by a list-view control when the mouse hovers over an item
    ;~ _DebugPrint("$NM_HOVER" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    ;~ "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    ;~ "-->Code:" & @TAB & $iCode)
    ;~ Return 0 ; process the hover normally
    ;~ ;Return 1 ; prevent the hover from being processed
    Case $NM_KILLFOCUS ; The control has lost the input focus
    _DebugPrint("$NM_KILLFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    Case $NM_RCLICK ; Sent by a list-view control when the user clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_RCLICK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ;Return 1 ; not to allow the default processing
    Return 0 ; allow the default processing
    Case $NM_RDBLCLK ; Sent by a list-view control when the user double-clicks an item with the right mouse button
    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    _DebugPrint("$NM_RDBLCLK" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode & @LF & _
    "-->Index:" & @TAB & DllStructGetData($tInfo, "Index") & @LF & _
    "-->SubItem:" & @TAB & DllStructGetData($tInfo, "SubItem") & @LF & _
    "-->NewState:" & @TAB & DllStructGetData($tInfo, "NewState") & @LF & _
    "-->OldState:" & @TAB & DllStructGetData($tInfo, "OldState") & @LF & _
    "-->Changed:" & @TAB & DllStructGetData($tInfo, "Changed") & @LF & _
    "-->ActionX:" & @TAB & DllStructGetData($tInfo, "ActionX") & @LF & _
    "-->ActionY:" & @TAB & DllStructGetData($tInfo, "ActionY") & @LF & _
    "-->lParam:" & @TAB & DllStructGetData($tInfo, "lParam") & @LF & _
    "-->KeyFlags:" & @TAB & DllStructGetData($tInfo, "KeyFlags"))
    ; No return value
    Case $NM_RETURN ; The control has the input focus and that the user has pressed the ENTER key
    _DebugPrint("$NM_RETURN" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    Case $NM_SETFOCUS ; The control has received the input focus
    _DebugPrint("$NM_SETFOCUS" & @LF & "--> hWndFrom:" & @TAB & $hWndFrom & @LF & _
    "-->IDFrom:" & @TAB & $iIDFrom & @LF & _
    "-->Code:" & @TAB & $iCode)
    ; No return value
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit]

    Func _DebugPrint($s_text, $line = @ScriptLineNumber)
    ConsoleWrite( _
    "!===========================================================" & @LF & _
    "+======================================================" & @LF & _
    "-->Line(" & StringFormat("%04d", $line) & "):" & @TAB & $s_text & @LF & _
    "+======================================================" & @LF)
    EndFunc ;==>_DebugPrint

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
    Alles anzeigen

    Das Problem ist das das nicht im
    $LVS_ICON Style funktioniert, dort werden dann gar keine Icons / Bilder mehr angezeigt.

  • Bilder Listview

    • sumsum
    • 17. Juli 2012 um 13:32
    Zitat von m-obi

    Schau dir mal die Hilfe zu _GUICtrlListView_SetImageList an.

    Wie gesagt, habe ich mir schon angeguckt aber keine Möglichkeit gefunden die icons größer zu bekommen. (Wenn ich bei _GuictrlListview_setImageList den Type auf 0 setze (große Icons) kommt überhaupt nichts mehr)

  • Bilder Listview

    • sumsum
    • 17. Juli 2012 um 13:05

    Hallo zusammen,

    ich versuche grade ein Listview zu erstellen das in etwa so aussieht
     [Blockierte Grafik: http://img593.imageshack.us/img593/1108/screenkv.png]

    Hierbei ist mir wirklich nur der markierte Bereich wichtig, die Checkboxen dabei wären toll sind aber nicht notwendig, ich habe mir schon einige Beispiele für Listview mit icons angesehen aber keine Möglichkeit gefunden diese zu vergrößern.

    Hoffe Jemand hat da eine Idee

    Danke im Vorraus^^

  • MyOwnWay - User hilft User

    • sumsum
    • 27. Juni 2012 um 16:37

    VIelleicht solltest du das nicht mit den FTP funktionen machen damit da niemand einfach auf den FTP geht und alles löscht.

    Außerdem musst du die Autoit3.exe nicht mitliefern da jedes compiliertes Script auch so autoit code ausführen kann.

  • Schliessen einer Konsole abfangen

    • sumsum
    • 26. Juni 2012 um 14:07

    http://pastebin.com/LBBQ5gk1

    Wie gesagt ist nur ein Beispiel, könnte man auch beliebige andere Sachen reinmachen die passieren sollen bevor man das ganze schliesst.

  • Schliessen einer Konsole abfangen

    • sumsum
    • 25. Juni 2012 um 21:35
    Zitat von BugFix


    Ich fühl mich veräppelt - das ist doch die stinknormale Windows-cmd.exe. Viel komplizierter hätte man die auch nicht beschreiben können. :D

    Und das Skript soll erkennen, wenn die Umgebung in der es läuft (besser: lief) nicht mehr existiert? Halte ich für sehr unwahrscheinlich. Ist ja ähnlich als ob du dein Betriebssystem runtergefahren hast. Diese Info nützt ja auch keinem Programm mehr.

    Bei nem normalen GUI wird das "schliessen" per X ja auch gemeldet. Deshalb dacht ich das man das auch bei anderen Fenstern machen könnte. Es würde auc hschon reichen irgendwie die OnAutoitExitregister funktion zum laufen zu kriegen.

  • Schliessen einer Konsole abfangen

    • sumsum
    • 25. Juni 2012 um 20:36
    Zitat von BugFix


    Hilf mir auf die Sprünge: Welche Befehle sind das? Hab ich noch nie benutzt.

    ...

    ConsoleWrite ( "data" )


    ConsoleRead ( [peek = false [, binary = false]] )


    Konsole durch "#AutoIt3Wrapper_Change2CUI=y"
    Sonst noch weitere Informationen??????

  • Schliessen einer Konsole abfangen

    • sumsum
    • 25. Juni 2012 um 19:54

    Ich meine die Konsole die man mit den Konsole****** Befehlen verwendet (Wenn das Script kompiliert ist), beim schliessen dieser Konsole wird die per OnAutoitExitregister gesetzte Funktion nämlich nicht aufgerufen. Stattdessen wird einfach der Autoit Prozess gekillt.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™