Bilder-Galerie

  • Ich find meine Stoppuhr gerade nicht :P

    Frag lieber noch mal jemand anderes aber ich denke schon.

    mfg Ubuntu

  • Scheinst dich ja damit aus zu kennen. Gib mir mal einen Richtwert, wie lange es dauert, GDi soweit zu beherrschen, dass man meine Sache lösen kann. Bezogen auf einen Normalsterblichen der nicht ganz auf den Kopf gefallen ist, nur ein bisschen. :) Hmm, funktionieren die Smilies bei euch ?

  • Zitat

    Gib mir mal einen Richtwert, wie lange es dauert, GDi soweit zu beherrschen, dass man meine Sache lösen kann


    Das kommt erstens darauf an wie kompliziert du das machen willst und zweitens wie gut du dich überhaupt mit AutoIt auskennst ;).
    Einen simplen ImageViewer der nur Bild für Bild in ein Fenster packt mache ich in 5 Minuten.

    Zitat

    Hmm, funktionieren die Smilies bei euch ?


    Ähh ja? ?(

  • Merk schon, ich muss mich selber entscheiden :) (Smilies gehen bei mir nicht mehr) Nichts kompliziertes, also werd ich´s schon rallen :)

    P.S.: Hast Recht, ist bedeutend schneller

    Einmal editiert, zuletzt von MrB (25. Mai 2010 um 18:29)

  • Bei mir funktioniert das Skript so:

    [autoit]

    Dim $aPics_Viewer[UBound($aPics) - 1]

    [/autoit]


    oder so:

    [autoit]

    Dim $aPics_Viewer[UBound($aPics)]

    [/autoit]


    nicht.
    Woran kann das liegen
    PS: FileEx.au3 hab ich bereits.

  • Fehlermeldung wäre nicht schlecht :)

    name22

    Hab schon soweit das alle Bilder erstellt werden, nur hab ich das Problem, dass alle Bilder die nicht im sichtbaren Bereich sind auch nicht gezeichnet werden. Scrolle ich dahin sind auch alle anderen weg

    Hier mal das Script so wie ichs im Moment hab:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <FileEx.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>

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

    $msg = MsgBox(4, "", "Möchtest du die Galerie jetzt erstellen ?")

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

    If $msg = 6 Then
    #region ### START Koda GUI section ### Form=
    $MainForm = GUICreate("Status", 1024, 768, Default, Default)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    _GUIScrollBars_Init($MainForm)
    _GUIScrollBars_ShowScrollBar($MainForm, $SB_VERT, $ESB_DISABLE_BOTH)

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

    galerie()

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

    GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")

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

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

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

    EndIf

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

    Func galerie()

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

    Local $aPics = _FileListTreeToArray(@ScriptDir & "\Pflanzen DB\pics\")
    Local $left = 16
    Local $top = 38
    Local $Width = 185
    Local $Height = 185
    Local $nr = 0
    Local $count = 0
    Local $top_label = 223
    Local $height_label = 17
    Local $scrollbar_height = 0
    Dim $aPics_Viewer[UBound($aPics)]

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

    _deleteBlanks($aPics)

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

    For $i = 1 To UBound($aPics) - 1

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

    _GDIPlus_Startup()
    $hImage = _GDIPlus_ImageLoadFromFile($aPics[$i])
    $x = _GDIPlus_ImageGetWidth($hImage)
    $y = _GDIPlus_ImageGetHeight($hImage)
    _GDIPlus_ImageDispose($hImage)

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

    $format = $x / $y

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

    If $format > 1 Then ;breiter wie hoch
    Do
    $x = $x - (10 * $format)
    $y = $y - 10
    ;~ ToolTip("Breite: " & $x & " Höhe: " & $y)
    Until $x < 185; Or $y < 185
    EndIf

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

    If $format < 1 Then ; höher wie breit
    Do
    $x = $x - (10 * $format)
    $y = $y - 10
    ;~ ToolTip("Höhe: " & $y & " Breite: " & $x)
    Until $y < 185; Or $x < 185
    EndIf

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

    $hBitmap = _GDIPlus_BitmapCreateFromFile($aPics[$i])
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($MainForm)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, $left, $top,$x,$y)

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

    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    ;~ GUICtrlCreatePic($aPics[$i], $left, $top, $x, $y)
    $pfad = StringSplit($aPics[$i], "\")
    $aPics_Viewer[$i] = $aPics[$i]

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

    $left = $left + 193
    $nr = $nr + 1
    $count = $count + 1

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

    If $nr = 5 Then
    $top = $top + 223
    $top_label = $top_label + 223
    $left = 16
    $scrollbar_height = $scrollbar_height + 240

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

    $nr = 0

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

    If $scrollbar_height > 769 Then
    $vert = _GUIScrollBars_GetScrollRange($MainForm, $SB_VERT)
    _GUIScrollBars_SetScrollRange($MainForm, $SB_VERT, 0, ($vert[1] + 9.83))
    EndIf
    EndIf
    Next

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

    $nr = 0
    $left = 16
    $top_label = 223

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

    For $i = 1 To UBound($aPics) - 1
    $pfad = StringSplit($aPics[$i], "\")
    GUICtrlCreateLabel("" & $pfad[UBound($pfad) - 3] & "\" & $pfad[UBound($pfad) - 2] & "\" & $pfad[UBound($pfad) - 1], $left, $top_label, $x, $height_label)

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

    $left = $left + 200
    $nr = $nr + 1

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

    If $nr = 5 Then
    $top_label = $top_label + 223
    $left = 16
    $nr = 0
    EndIf
    Next

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

    EndFunc ;==>galerie

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

    Func _deleteBlanks(ByRef $array)
    If IsArray($array) < 1 Then Return 0

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

    $bound = UBound($array) - 1
    Local $i = 0
    Local $isZeroIndex = 0

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

    If $array[0] = $bound Then
    $isZeroIndex = 1
    $i = 1
    EndIf

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

    While $i <= $bound
    If $array[$i] = "" Or StringIsSpace($array[$i]) > 0 Or Not StringInStr($array[$i], '.') Or StringInStr($array[$i], "blau.jpg") Or StringInStr($array[$i], "platzhalter.jpg") Or StringInStr($array[$i], "background.jpg") Then
    _ArrayDelete($array, $i)
    $bound = $bound - 1
    If $isZeroIndex > 0 Then $array[0] = $array[0] - 1
    Else
    $i = $i + 1
    EndIf
    WEnd
    EndFunc ;==>_deleteBlanks

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

    Func WM_VSCROLL($hWnd, $msg, $wParam, $lParam)
    ;~ ToolTip("Handle : " & $hWnd & " Msg : " & $Msg & "wParam : " & $wParam & "lParam : " & $lParam)
    #forceref $Msg, $wParam, $lParam
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    Local $index = -1, $yChar, $yPos
    Local $Min, $Max, $Page, $pos, $TrackPos

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

    For $x = 0 To UBound($aSB_WindowInfo) - 1
    If $aSB_WindowInfo[$x][0] = $hWnd Then
    $index = $x
    $yChar = $aSB_WindowInfo[$index][3]
    ExitLoop
    EndIf
    Next
    If $index = -1 Then Return 0

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

    ; Ermittelt alle Informationen der vertikalen Scrollbar
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)
    $Min = DllStructGetData($tSCROLLINFO, "nMin")
    $Max = DllStructGetData($tSCROLLINFO, "nMax")
    $Page = DllStructGetData($tSCROLLINFO, "nPage")
    $yPos = DllStructGetData($tSCROLLINFO, "nPos")
    $TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
    ; Speichert die y-Position für einen späteren Vergleich
    $pos = $yPos

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

    ; Auswertung der vom System gemeldeten Scroll-Nachricht
    Switch $nScrollCode
    Case $SB_TOP ; Der Anwender klickte auf die "Pos1"-Taste
    DllStructSetData($tSCROLLINFO, "nPos", $Min)

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

    Case $SB_BOTTOM ; Der Anwender klickte auf die "Ende"-Taste
    DllStructSetData($tSCROLLINFO, "nPos", $Max)

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

    Case $SB_LINEUP ; Der Anwender klickte auf den oberen Pfeil
    DllStructSetData($tSCROLLINFO, "nPos", $pos - 1)

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

    Case $SB_LINEDOWN ; Der Anwender klickte auf den unteren Pfeil
    DllStructSetData($tSCROLLINFO, "nPos", $pos + 1)

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

    Case $SB_PAGEUP ; Der Anwender klickte oberhalb des Scrollbalkens
    DllStructSetData($tSCROLLINFO, "nPos", $pos - $Page)

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

    Case $SB_PAGEDOWN ; Der Anwender klickte unterhalb des Scrollbalkens
    DllStructSetData($tSCROLLINFO, "nPos", $pos + $Page)

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

    Case $SB_THUMBTRACK ; Der Anwender zog den Scrollbalken
    DllStructSetData($tSCROLLINFO, "nPos", $TrackPos)
    EndSwitch

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

    ;~ // Setzt die neue Position und ermittelt sie danach erneut.
    ;~ // Abhängig von den Windows-Einstellungen kann es sein, dass die gelesenen Werte nicht die gleichen sind, wie die vorher gesetzten.

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

    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    _GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    ; // Falls sich die y-Position der Scrollbar geändert hat, den Fensterbereich verschieben und aktualisieren
    $pos = DllStructGetData($tSCROLLINFO, "nPos")
    If ($pos <> $yPos) Then
    _GUIScrollBars_ScrollWindow($hWnd, 0, $yChar * ($yPos - $pos))
    $yPos = $pos
    EndIf

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

    Return $GUI_RUNDEFMSG

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

    EndFunc ;==>WM_VSCROLL

    [/autoit]

    Gib mal PLS einen Tip.

  • Ein vollständiges Script wäre hilfreich ;).
    Außerdem fällt mir auf, dass du ein Bilde lädst, seine Größe ausliest es wieder aus dem Speicher löschst dann eine Bitmap von dem Bild erstellst und diese in die Grafik zeichnest :D.
    Ich glaube das ganze lässt sich überhaupt effektiver gestalten... :rolleyes:

  • Bitte

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <FileEx.au3>
    #include <GDIPlus.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiScrollBars.au3>
    #include <ScrollBarConstants.au3>
    #include <WindowsConstants.au3>

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

    $msg = MsgBox(4, "", "Möchtest du die Galerie jetzt erstellen ?")

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

    If $msg = 6 Then
    #region ### START Koda GUI section ### Form=
    $MainForm = GUICreate("Status", 1024, 768, Default, Default)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    _GUIScrollBars_Init($MainForm)
    _GUIScrollBars_ShowScrollBar($MainForm, $SB_VERT, $ESB_DISABLE_BOTH)

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

    galerie()

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

    GUIRegisterMsg($WM_VSCROLL, "WM_VSCROLL")

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

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

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

    EndIf

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

    Func galerie()

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

    Local $aPics = _FileListTreeToArray(@ScriptDir & "\Pflanzen DB\pics\")
    Local $left = 16
    Local $top = 38
    Local $Width = 185
    Local $Height = 185
    Local $nr = 0
    Local $count = 0
    Local $top_label = 223
    Local $height_label = 17
    Local $scrollbar_height = 0
    Dim $aPics_Viewer[UBound($aPics)]

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

    _deleteBlanks($aPics)

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

    For $i = 1 To UBound($aPics) - 1

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

    _GDIPlus_Startup()
    $hImage = _GDIPlus_BitmapCreateFromFile($aPics[$i])
    $x = _GDIPlus_ImageGetWidth($hImage)
    $y = _GDIPlus_ImageGetHeight($hImage)

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

    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($MainForm)

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

    $format = $x / $y

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

    If $format > 1 Then ;breiter wie hoch
    Do
    $x = $x - (10 * $format)
    $y = $y - 10
    ;~ ToolTip("Breite: " & $x & " Höhe: " & $y)
    Until $x < 185; Or $y < 185
    EndIf

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

    If $format < 1 Then ; höher wie breit
    Do
    $x = $x - (10 * $format)
    $y = $y - 10
    ;~ ToolTip("Höhe: " & $y & " Breite: " & $x)
    Until $y < 185; Or $x < 185
    EndIf

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

    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hImage, $left, $top, $x, $y)

    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()

    ;~ GUICtrlCreatePic($aPics[$i], $left, $top, $x, $y)
    $pfad = StringSplit($aPics[$i], "\")
    $aPics_Viewer[$i] = $aPics[$i]

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

    $left = $left + 193
    $nr = $nr + 1
    $count = $count + 1

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

    If $nr = 5 Then
    $top = $top + 223
    $top_label = $top_label + 223
    $left = 16
    $scrollbar_height = $scrollbar_height + 240

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

    $nr = 0

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

    If $scrollbar_height > 769 Then
    $vert = _GUIScrollBars_GetScrollRange($MainForm, $SB_VERT)
    _GUIScrollBars_SetScrollRange($MainForm, $SB_VERT, 0, ($vert[1] + 9.83))
    EndIf
    EndIf
    Next

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

    $nr = 0
    $left = 16
    $top_label = 223

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

    For $i = 1 To UBound($aPics) - 1
    $pfad = StringSplit($aPics[$i], "\")
    GUICtrlCreateLabel("" & $pfad[UBound($pfad) - 3] & "\" & $pfad[UBound($pfad) - 2] & "\" & $pfad[UBound($pfad) - 1], $left, $top_label, $x, $height_label)

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

    $left = $left + 200
    $nr = $nr + 1

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

    If $nr = 5 Then
    $top_label = $top_label + 223
    $left = 16
    $nr = 0
    EndIf
    Next

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

    EndFunc ;==>galerie

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

    Func _deleteBlanks(ByRef $array)
    If IsArray($array) < 1 Then Return 0

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

    $bound = UBound($array) - 1
    Local $i = 0
    Local $isZeroIndex = 0

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

    If $array[0] = $bound Then
    $isZeroIndex = 1
    $i = 1
    EndIf

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

    While $i <= $bound
    If $array[$i] = "" Or StringIsSpace($array[$i]) > 0 Or Not StringInStr($array[$i], '.') Or StringInStr($array[$i], "blau.jpg") Or StringInStr($array[$i], "platzhalter.jpg") Or StringInStr($array[$i], "background.jpg") Then
    _ArrayDelete($array, $i)
    $bound = $bound - 1
    If $isZeroIndex > 0 Then $array[0] = $array[0] - 1
    Else
    $i = $i + 1
    EndIf
    WEnd
    EndFunc ;==>_deleteBlanks

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

    Func WM_VSCROLL($hWnd, $msg, $wParam, $lParam)
    ;~ ToolTip("Handle : " & $hWnd & " Msg : " & $Msg & "wParam : " & $wParam & "lParam : " & $lParam)
    #forceref $Msg, $wParam, $lParam
    Local $nScrollCode = BitAND($wParam, 0x0000FFFF)
    Local $index = -1, $yChar, $yPos
    Local $Min, $Max, $Page, $pos, $TrackPos

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

    For $x = 0 To UBound($aSB_WindowInfo) - 1
    If $aSB_WindowInfo[$x][0] = $hWnd Then
    $index = $x
    $yChar = $aSB_WindowInfo[$index][3]
    ExitLoop
    EndIf
    Next
    If $index = -1 Then Return 0

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

    ; Ermittelt alle Informationen der vertikalen Scrollbar
    Local $tSCROLLINFO = _GUIScrollBars_GetScrollInfoEx($hWnd, $SB_VERT)
    $Min = DllStructGetData($tSCROLLINFO, "nMin")
    $Max = DllStructGetData($tSCROLLINFO, "nMax")
    $Page = DllStructGetData($tSCROLLINFO, "nPage")
    $yPos = DllStructGetData($tSCROLLINFO, "nPos")
    $TrackPos = DllStructGetData($tSCROLLINFO, "nTrackPos")
    ; Speichert die y-Position für einen späteren Vergleich
    $pos = $yPos

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

    ; Auswertung der vom System gemeldeten Scroll-Nachricht
    Switch $nScrollCode
    Case $SB_TOP ; Der Anwender klickte auf die "Pos1"-Taste
    DllStructSetData($tSCROLLINFO, "nPos", $Min)

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

    Case $SB_BOTTOM ; Der Anwender klickte auf die "Ende"-Taste
    DllStructSetData($tSCROLLINFO, "nPos", $Max)

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

    Case $SB_LINEUP ; Der Anwender klickte auf den oberen Pfeil
    DllStructSetData($tSCROLLINFO, "nPos", $pos - 1)

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

    Case $SB_LINEDOWN ; Der Anwender klickte auf den unteren Pfeil
    DllStructSetData($tSCROLLINFO, "nPos", $pos + 1)

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

    Case $SB_PAGEUP ; Der Anwender klickte oberhalb des Scrollbalkens
    DllStructSetData($tSCROLLINFO, "nPos", $pos - $Page)

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

    Case $SB_PAGEDOWN ; Der Anwender klickte unterhalb des Scrollbalkens
    DllStructSetData($tSCROLLINFO, "nPos", $pos + $Page)

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

    Case $SB_THUMBTRACK ; Der Anwender zog den Scrollbalken
    DllStructSetData($tSCROLLINFO, "nPos", $TrackPos)
    EndSwitch

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

    ;~ // Setzt die neue Position und ermittelt sie danach erneut.
    ;~ // Abhängig von den Windows-Einstellungen kann es sein, dass die gelesenen Werte nicht die gleichen sind, wie die vorher gesetzten.

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

    DllStructSetData($tSCROLLINFO, "fMask", $SIF_POS)
    _GUIScrollBars_SetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    _GUIScrollBars_GetScrollInfo($hWnd, $SB_VERT, $tSCROLLINFO)
    ; // Falls sich die y-Position der Scrollbar geändert hat, den Fensterbereich verschieben und aktualisieren
    $pos = DllStructGetData($tSCROLLINFO, "nPos")
    If ($pos <> $yPos) Then
    _GUIScrollBars_ScrollWindow($hWnd, 0, $yChar * ($yPos - $pos))
    $yPos = $pos
    EndIf

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

    Return $GUI_RUNDEFMSG

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

    EndFunc ;==>WM_VSCROLL

    [/autoit]

    Schau nicht nach dem Code. Ist der erste Gedanke. Verbessert wird noch, wenn´s funktioniert. Mit dem Bild hast recht, war noch von vorher über geblieben.

  • Die Bilder werden gezeichnet ;). Nur wird alles gelöscht was außerhalb der GUI liegt, du müsstest es also neu zeichnen sobald gescrollt wird (so machen die Controls das auch).
    Außerdem Ist eine GDI+ Grafik kein Control, das heißt du musst wahrscheinlich die Scroll Funktion anpassen... Schau dir mal das hier an.

  • Das sagst du so einfach in deinem jugendlichen Leichtsinn ! (geht wieder)

    Erstmal raus finden wie! Komplett alles dauert zu lange