GDI+ Graphic in Mitte von Gui (ChildGui???)

  • Hey,
    ich hab ein Problem, also.
    Ich habe eine Maximierte GUI, in die Mitte dieser GUI soll nun eine Graphische Fläche, aber NUR DORT.
    Stellt euch vor wie bei... Paint.NET, die Fläche wo man drauf malt.
    Ich brauch das, da ich am Ende die Graphic abspeichern muss, und das geht schlecht wenn ich zu viel Rand hab, deswegen frag ich euch jetzt, geht das mit einem Child GUI?
    Ich hab es nicht hinbekommen, was auch daran liegen könnte das ich noch nie eine ChildGUI benutzt hab^^
    Wenn nicht, würde ich mich freuen wenn ihr mir erklärt wie es sonst gehen könnte.

    Danke im Vorraus
    B.B.

  • Mach es halt so...

    Spoiler anzeigen
    [autoit]

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

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

    $hMain = GUICreate("Test", 400, 400, 200, 200)
    GUISetState()

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

    $hChild = GUICreate("", 100, 100, 250, 250, $WS_POPUP, Default, $hMain)
    GUISetState()
    GUISwitch($hMain)

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

    _GDIPlus_Startup()

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

    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hChild)
    _GDIPlus_GraphicsSetSmoothingMode($hGraphics, 2)

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

    _GDIPlus_GraphicsClear($hGraphics, 0xFFFFFFFF)
    _GDIPlus_GraphicsFillEllipse($hGraphics, 10, 10, 80, 70)

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

    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()

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

    GUIRegisterMsg($WM_MOVE, "_Move")

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

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

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

    Func _Move($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $hMain Then WinMove($hChild, "", Int(BinaryMid($lParam, 1, 2)) + 50, Int(BinaryMid($lParam, 3, 4)) + 50)
    EndFunc

    [/autoit]