GDI+ Grafik verschwindet nach Resize des Fensters

  • Hallo,

    ich will über GDI+ eine Trendanzeige erstellen. Das Script hier ist noch rudmentär, also nur für mich zum testen wie's gehen könnte.

    Ich bekomme auch eine Trendanzeige hin, aber immer wenn ich die Größe des Hauptfensters ädere oder das Fenster minimiere, und wieder herstelle verschwindet die mit GDI+ erstellt Grafik. Hat einer eine Idee dazu?

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <Array.au3>

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

    Dim $arr1[1]
    Dim $arr2[1]
    _Main()
    Func _Main()
    Local $hGUI, $hWnd, $hGraphic, $hPen, $hGUIC
    ; Create GUI
    $hGUI = GUICreate("GDI+", 800, 400,-1,-1,$WS_OVERLAPPEDWINDOW+$WS_CLIPSIBLINGS)
    GUISetBkColor (0xE0FFFF)
    GUICtrlCreateSlider(1,270,800,20)
    GUISetState()
    $hGUIC = GUICreate("child", 800, 200,1,50,$WS_CHILD,-1,$hGUI)
    GUISetBkColor(0x4CAF98)
    $hWnd = $hGUIC
    GUISetState()
    ; Draw line
    _GDIPlus_Startup ()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hWnd)
    $hPenB = _GDIPlus_PenCreate (0xFF0000FF)
    $hPenR = _GDIPlus_PenCreate (0xFFFF0000)
    ; _GDIPlus_GraphicsDrawLine ($hGraphic, 10, 150, 20, 120, $hPen)
    $z = 0
    $r = 120
    $r2 = 120
    For $i = 1 to 790 Step 1
    $rnd = Random(100,150,1)
    $rnd2 = Random(-50,50,1)
    _ArrayAdd($arr1,$rnd)
    _ArrayAdd($arr2,$rnd2)
    GUICtrlCreateButton("",$i-2,$rnd-2,5,5)
    GUICtrlSetTip(-1,$rnd)
    _GDIPlus_GraphicsDrawLine ($hGraphic, $z, $r, $i, $rnd, $hPenB)
    GUICtrlCreateButton("",$i-2,$rnd+$rnd2-2,5,5)
    GUICtrlSetTip(-1,$rnd+$rnd2)
    _GDIPlus_GraphicsDrawLine ($hGraphic, $z, $r2, $i, $rnd+$rnd2, $hPenR)
    $z = $i
    $r = $rnd
    $r2 = $r+$rnd2
    Next

    Sleep(1000)
    ; Loop until user exits
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    ; Clean up resources
    _GDIPlus_PenDispose ($hPen)
    _GDIPlus_GraphicsDispose ($hGraphic)
    _GDIPlus_Shutdown ()
    EndFunc ;==>_Main

    [/autoit]

    Schon mal Danke und Gruß rabbit

  • Hi, keiner eine Idee???

    ich kann natürlich den State des Fensters abragen und neu schreiben, gefällt mir aber nicht...