[GDI+ (1.Script)] *weissnamenicht*

  • hallo, ich habe zum erstenmal meinen GDI+ script gemacht!
    leider weiss ich nicht, wie ich meinen Script benennen soll... oO :S
    naja egal. Source:(schaut alles genau an! auch die if then endif abfragen an)

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    ;========================
    Global $a_pos_Balken = 1
    Global $Pos_Bal_1 = 100
    Global $Pos_Bal_2 = 100
    Global $Pos_Bal_3 = 100
    Global $Pos_Bal_4 = 100
    Global $Pos_Del_Bal_1 = 0
    Global $Pos_Del_Bal_2 = 0
    Global $Pos_Del_Bal_3 = 0
    Global $Pos_Del_Bal_4 = 0
    Global $iHeight1 = 17 , $aHeight1 = 321 , $aY1 = 24
    Global $iHeight2 = 17 , $aHeight2 = 321 , $aY2 = 24
    Global $iHeight3 = 17 , $aHeight3 = 321 , $aY3 = 24
    Global $iHeight4 = 17 , $aHeight4 = 321 , $aY4 = 24
    ;========================
    $hGUI = GUICreate("GDI+ Balken mit %", 562, 402)
    GUISetOnEvent(-3,"_kill")
    GUISetBkColor(0xFFFFFF)

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

    $Button14 = GUICtrlCreateButton("100 %", 8, 24, 43, 17, $WS_GROUP) ;16 Pixel abstand
    $Button16 = GUICtrlCreateButton("90 %", 8, 56, 43, 17, $WS_GROUP)
    $Button17 = GUICtrlCreateButton("85 %", 8, 72, 43, 17, $WS_GROUP)
    $Button18 = GUICtrlCreateButton("80 %", 8, 88, 43, 17, $WS_GROUP)
    $Button19 = GUICtrlCreateButton("75 %", 8, 104, 43, 17, $WS_GROUP)
    $Button20 = GUICtrlCreateButton("70 %", 8, 120, 43, 17, $WS_GROUP)
    $Button21 = GUICtrlCreateButton("65 %", 8, 136, 43, 17, $WS_GROUP)
    $Button22 = GUICtrlCreateButton("60 %", 8, 152, 43, 17, $WS_GROUP)
    $Button23 = GUICtrlCreateButton("55 %", 8, 168, 43, 17, $WS_GROUP)
    $Button24 = GUICtrlCreateButton("50 %", 8, 184, 43, 17, $WS_GROUP)
    $Button25 = GUICtrlCreateButton("45 %", 8, 200, 43, 17, $WS_GROUP)
    $Button26 = GUICtrlCreateButton("40 %", 8, 216, 43, 17, $WS_GROUP)
    $Button28 = GUICtrlCreateButton("30 %", 8, 248, 43, 17, $WS_GROUP)
    $Button29 = GUICtrlCreateButton("25 %", 8, 264, 43, 17, $WS_GROUP)
    $Button30 = GUICtrlCreateButton("20 %", 8, 280, 43, 17, $WS_GROUP)
    $Button31 = GUICtrlCreateButton("15 %", 8, 296, 43, 17, $WS_GROUP)
    $Button32 = GUICtrlCreateButton("10 %", 8, 312, 43, 17, $WS_GROUP)
    $Button33 = GUICtrlCreateButton("5 %", 8, 328, 43, 17, $WS_GROUP)
    $Button34 = GUICtrlCreateButton("95 %", 8, 40, 43, 17, $WS_GROUP)
    $Button35 = GUICtrlCreateButton("35 %", 8, 232, 43, 17, $WS_GROUP)

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

    $Input1 = GUICtrlCreateInput($Pos_Bal_1 & " %", 72, 368, 97, 21)
    $Input2 = GUICtrlCreateInput($Pos_Bal_2 & " %", 200, 368, 97, 21)
    $Input3 = GUICtrlCreateInput($Pos_Bal_3 & " %", 328, 368, 97, 21)
    $Input4 = GUICtrlCreateInput($Pos_Bal_4 & " %", 456, 368, 97, 21)

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

    GUISetState(@SW_SHOW)
    ;=========================================================================
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    $hPen1 = _GDIPlus_BrushCreateSolid (0xFF000000);Schwarz
    $hPen2 = _GDIPlus_BrushCreateSolid (0xFF404040);Grau
    $hPen3 = _GDIPlus_BrushCreateSolid (0xFFFF0000);Rot
    $hPen4 = _GDIPlus_BrushCreateSolid (0xFFFF6A00);Orange
    $hPen5 = _GDIPlus_BrushCreateSolid (0xFFFFD800);Gelb
    $hPen11 = _GDIPlus_BrushCreateSolid (0xFF0094FF);Blau
    $hPen7 = _GDIPlus_BrushCreateSolid (0xFF4CFF00);Grün
    $hPen9 = _GDIPlus_BrushCreateSolid (0xFFFFFFFF);Weiss

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

    _GDIPlus_GraphicsFillRect($hGraphic, 56, 24, 2, 321,$hPen1) ; Linie
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9,$hPen2) ; Position
    _GDIPlus_GraphicsFillRect($hGraphic, 80, $aY1, 83, $aHeight1,$hPen3) ; Balken 1
    _GDIPlus_GraphicsFillRect($hGraphic, 208, $aY2, 83, $aHeight2,$hPen5) ; Balken 2
    _GDIPlus_GraphicsFillRect($hGraphic, 336, $aY3, 83, $aHeight3,$hPen7) ; Balken 3
    _GDIPlus_GraphicsFillRect($hGraphic, 464, $aY4, 83, $aHeight4,$hPen11); Balken 4

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

    While 1
    ;========================================================== Links (ENDE)
    If _IsPressed("25") And $a_pos_Balken = 1 Then
    $a_pos_Balken = 4
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 2 Then
    $a_pos_Balken = 1
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 3 Then
    $a_pos_Balken = 2
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 4 Then
    $a_pos_Balken = 3
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 352, 99, 9,$hPen2)
    ;========================================================== Oben
    ElseIf _IsPressed("26") And $a_pos_Balken = 1 Then
    If $Pos_Bal_1 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_1 += 5
    GUICtrlSetData($Input1, $Pos_Bal_1 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 2 Then
    If $Pos_Bal_2 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_2 += 5
    GUICtrlSetData($Input2, $Pos_Bal_2 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 3 Then
    If $Pos_Bal_3 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_3 += 5
    GUICtrlSetData($Input3, $Pos_Bal_3 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 4 Then
    If $Pos_Bal_4 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_4 += 5
    GUICtrlSetData($Input4, $Pos_Bal_4 & " %")
    EndIf
    ;========================================================== Rechts (ENDE!!!)
    ElseIf _IsPressed("27") And $a_pos_Balken = 1 Then
    $a_pos_Balken = 2
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 2 Then
    $a_pos_Balken = 3
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 3 Then
    $a_pos_Balken = 4
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 352, 99, 9,$hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 4 Then
    $a_pos_Balken = 1
    _GDIPlus_GraphicsFillRect($hGraphic,64, 344, 499, 17,$hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9,$hPen2)
    ;========================================================== Unten (ENDE!!!)
    ElseIf _IsPressed("28") And $a_pos_Balken = 1 Then
    If $Pos_Bal_1 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_1 -= 5
    GUICtrlSetData($Input1, $Pos_Bal_1 & " %")
    If $iHeight1 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight1 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 8, 97, $iHeight1,$hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 2 Then
    If $Pos_Bal_2 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_2 -= 5
    GUICtrlSetData($Input2, $Pos_Bal_2 & " %")
    If $iHeight2 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight2 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 8, 99, $iHeight2,$hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 3 Then
    If $Pos_Bal_3 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_3 -= 5
    GUICtrlSetData($Input3, $Pos_Bal_3 & " %")
    If $iHeight3 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight3 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 8, 99, $iHeight3,$hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 4 Then
    If $Pos_Bal_4 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_4 -= 5
    GUICtrlSetData($Input4, $Pos_Bal_4 & " %")
    If $iHeight4 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight4 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 8, 99, $iHeight4,$hPen9)
    EndIf
    EndIf
    Else
    Sleep(10)
    ;==========================================================
    EndIf
    Sleep(100)
    WEnd

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

    Func _kill()
    _GDIPlus_BrushDispose($hPen1)
    _GDIPlus_BrushDispose($hPen2)
    _GDIPlus_BrushDispose($hPen3)
    _GDIPlus_BrushDispose($hPen4)
    _GDIPlus_BrushDispose($hPen5)
    _GDIPlus_BrushDispose($hPen11)
    _GDIPlus_BrushDispose($hPen9)
    _GDIPlus_BrushDispose($hPen7)
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    bin stolz ^^ der script ist aber nicht vollständig, deswegen die 100%

  • die buttons sollt ihr nicht beachten, die sind für die abstände der % und Gdi Rechtecke.

  • hab mit Koda gemacht, und die buttons helfen mir eben. sieht besser aus wegen der darstellung, aber die buttons haben keine funktion

  • Hi,
    für den Anfang ist das schon mal Klasse,
    aber wie gesagt die Sache mit den vielen Buttons und mann kann den Balken nicht wieder hochdrehen.
    Die Button sache ist gefixt hier.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)
    ;========================
    Global $a_pos_Balken = 1
    Global $Pos_Bal_1 = 100
    Global $Pos_Bal_2 = 100
    Global $Pos_Bal_3 = 100
    Global $Pos_Bal_4 = 100
    Global $Pos_Del_Bal_1 = 0
    Global $Pos_Del_Bal_2 = 0
    Global $Pos_Del_Bal_3 = 0
    Global $Pos_Del_Bal_4 = 0
    Global $iHeight1 = 17, $aHeight1 = 321, $aY1 = 24
    Global $iHeight2 = 17, $aHeight2 = 321, $aY2 = 24
    Global $iHeight3 = 17, $aHeight3 = 321, $aY3 = 24
    Global $iHeight4 = 17, $aHeight4 = 321, $aY4 = 24
    ;========================
    $hGUI = GUICreate("GDI+ Balken mit %", 562, 402)
    GUISetOnEvent(-3, "_kill")
    GUISetBkColor(0xFFFFFF)

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

    $Input1 = GUICtrlCreateInput($Pos_Bal_1 & " %", 72, 368, 97, 21)
    $Input2 = GUICtrlCreateInput($Pos_Bal_2 & " %", 200, 368, 97, 21)
    $Input3 = GUICtrlCreateInput($Pos_Bal_3 & " %", 328, 368, 97, 21)
    $Input4 = GUICtrlCreateInput($Pos_Bal_4 & " %", 456, 368, 97, 21)

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

    GUISetState(@SW_SHOW)
    ;=========================================================================
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hPen1 = _GDIPlus_BrushCreateSolid(0xFF000000);Schwarz
    $hPen2 = _GDIPlus_BrushCreateSolid(0xFF404040);Grau
    $hPen3 = _GDIPlus_BrushCreateSolid(0xFFFF0000);Rot
    $hPen4 = _GDIPlus_BrushCreateSolid(0xFFFF6A00);Orange
    $hPen5 = _GDIPlus_BrushCreateSolid(0xFFFFD800);Gelb
    $hPen11 = _GDIPlus_BrushCreateSolid(0xFF0094FF);Blau
    $hPen7 = _GDIPlus_BrushCreateSolid(0xFF4CFF00);Grün
    $hPen9 = _GDIPlus_BrushCreateSolid(0xFFFFFFFF);Weiss

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

    _GDIPlus_GraphicsFillRect($hGraphic, 56, 24, 2, 321, $hPen1) ; Linie
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9, $hPen2) ; Position
    _GDIPlus_GraphicsFillRect($hGraphic, 80, $aY1, 83, $aHeight1, $hPen3) ; Balken 1
    _GDIPlus_GraphicsFillRect($hGraphic, 208, $aY2, 83, $aHeight2, $hPen5) ; Balken 2
    _GDIPlus_GraphicsFillRect($hGraphic, 336, $aY3, 83, $aHeight3, $hPen7) ; Balken 3
    _GDIPlus_GraphicsFillRect($hGraphic, 464, $aY4, 83, $aHeight4, $hPen11); Balken 4

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

    $iPercent = 5

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

    For $x = 328 To 24 Step -16
    _GDIPlus_GraphicsDrawString($hGraphic, $iPercent & "%", 8, $x)

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

    $iPercent += 5
    Next

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

    While 1
    ;========================================================== Links (ENDE)
    If _IsPressed("25") And $a_pos_Balken = 1 Then
    $a_pos_Balken = 4
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 2 Then
    $a_pos_Balken = 1
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 3 Then
    $a_pos_Balken = 2
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("25") And $a_pos_Balken = 4 Then
    $a_pos_Balken = 3
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 352, 99, 9, $hPen2)
    ;========================================================== Oben
    ElseIf _IsPressed("26") And $a_pos_Balken = 1 Then
    If $Pos_Bal_1 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_1 += 5
    GUICtrlSetData($Input1, $Pos_Bal_1 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 2 Then
    If $Pos_Bal_2 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_2 += 5
    GUICtrlSetData($Input2, $Pos_Bal_2 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 3 Then
    If $Pos_Bal_3 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_3 += 5
    GUICtrlSetData($Input3, $Pos_Bal_3 & " %")
    EndIf
    ElseIf _IsPressed("26") And $a_pos_Balken = 4 Then
    If $Pos_Bal_4 = 100 Then
    Sleep(1)
    Else
    $Pos_Bal_4 += 5
    GUICtrlSetData($Input4, $Pos_Bal_4 & " %")
    EndIf
    ;========================================================== Rechts (ENDE!!!)
    ElseIf _IsPressed("27") And $a_pos_Balken = 1 Then
    $a_pos_Balken = 2
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 2 Then
    $a_pos_Balken = 3
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 3 Then
    $a_pos_Balken = 4
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 352, 99, 9, $hPen2)
    ElseIf _IsPressed("27") And $a_pos_Balken = 4 Then
    $a_pos_Balken = 1
    _GDIPlus_GraphicsFillRect($hGraphic, 64, 344, 499, 17, $hPen9)
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 352, 99, 9, $hPen2)
    ;========================================================== Unten (ENDE!!!)
    ElseIf _IsPressed("28") And $a_pos_Balken = 1 Then
    If $Pos_Bal_1 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_1 -= 5
    GUICtrlSetData($Input1, $Pos_Bal_1 & " %")
    If $iHeight1 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight1 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 72, 8, 97, $iHeight1, $hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 2 Then
    If $Pos_Bal_2 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_2 -= 5
    GUICtrlSetData($Input2, $Pos_Bal_2 & " %")
    If $iHeight2 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight2 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 200, 8, 99, $iHeight2, $hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 3 Then
    If $Pos_Bal_3 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_3 -= 5
    GUICtrlSetData($Input3, $Pos_Bal_3 & " %")
    If $iHeight3 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight3 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 328, 8, 99, $iHeight3, $hPen9)
    EndIf
    EndIf
    ElseIf _IsPressed("28") And $a_pos_Balken = 4 Then
    If $Pos_Bal_4 = 0 Then
    Sleep(1)
    Else
    $Pos_Bal_4 -= 5
    GUICtrlSetData($Input4, $Pos_Bal_4 & " %")
    If $iHeight4 = 337 Then ; non Input delete Mode
    Sleep(1)
    Else
    $iHeight4 += 16
    _GDIPlus_GraphicsFillRect($hGraphic, 456, 8, 99, $iHeight4, $hPen9)
    EndIf
    EndIf
    Else
    Sleep(10)
    ;==========================================================
    EndIf
    Sleep(100)
    WEnd

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

    Func _kill()
    _GDIPlus_BrushDispose($hPen1)
    _GDIPlus_BrushDispose($hPen2)
    _GDIPlus_BrushDispose($hPen3)
    _GDIPlus_BrushDispose($hPen4)
    _GDIPlus_BrushDispose($hPen5)
    _GDIPlus_BrushDispose($hPen11)
    _GDIPlus_BrushDispose($hPen9)
    _GDIPlus_BrushDispose($hPen7)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>_kill

    [/autoit]

    Labels verwenden ?!


    Nee. GDI+ reicht doch.

  • Hier ein Bsp.
    Ist zwar nicht die beste Methode aber es geht.

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $iPercent = 0

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

    $hDll = DllOpen("user32.dll")
    OnAutoItExitRegister("_Exit")

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

    $hGui = GUICreate("", 600, 400, -1, -1)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $hPen = _GDIPlus_PenCreate(0xFF000000, 50)

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

    While GUIGetMsg() <> -3
    If $iPercent < 1 Then $iPercent = 0
    If _IsPressed(26) Then ;Up
    _GDIPlus_GraphicsClear($hGraphic, 0xFF000000 + 0xFFFFFF)
    $iPercent += 5
    _GDIPlus_GraphicsDrawLine($hGraphic, 20, 400, 20, 400 - Int(($iPercent * 400) / 100))
    EndIf
    If _IsPressed(28) Then;Down
    _GDIPlus_GraphicsClear($hGraphic, 0xFF000000 + 0xFFFFFF)
    $iPercent -= 5
    _GDIPlus_GraphicsDrawLine($hGraphic, 20, 400, 20, 400 - Int(($iPercent * 400) / 100))
    EndIf
    WEnd

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

    Func _Exit()
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    DllClose($hDll)
    Exit
    EndFunc ;==>_Exit

    [/autoit]
  • dein script ist mir zu schnell ^.^'
    ich habe die abfrage

    If $iHeight1 = 337 Then

    gemacht, damit die inputbox nicht überzeichnet wird. also eine Grenze

  • Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Misc.au3>
    Global $iPercent = 0

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

    $hDll = DllOpen("user32.dll")
    OnAutoItExitRegister("_Exit")

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

    $hGui = GUICreate("", 600, 400, -1, -1)
    GUISetState(@SW_SHOW)
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGui)
    $hPen = _GDIPlus_PenCreate(0xFF000000, 50)

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

    While GUIGetMsg() <> -3
    If $iPercent < 1 Then $iPercent = 0
    If _IsPressed(26) Then ;Up
    _GDIPlus_GraphicsClear($hGraphic, 0xFF000000 + 0xFFFFFF)
    $iPercent += 1
    _GDIPlus_GraphicsDrawLine($hGraphic, 20, 400, 20, 400 - ($iPercent * 400) / 100)
    EndIf
    If _IsPressed(28) Then;Down
    _GDIPlus_GraphicsClear($hGraphic, 0xFF000000 + 0xFFFFFF)
    $iPercent -= 1
    _GDIPlus_GraphicsDrawLine($hGraphic, 20, 400, 20, 400 - ($iPercent * 400) / 100)
    EndIf
    WEnd

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

    Func _Exit()
    _GDIPlus_PenDispose($hPen)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()
    DllClose($hDll)
    Exit
    EndFunc ;==>_Exit

    [/autoit]

    so is es langsamer