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.

    mfg BB

    "IF YOU'RE GOING TO KILL IT
    OPEN SOURCE IT!"

    by Phillip Torrone

    Zitat von Shoutbox

    [Heute, 11:16] Andy: ....böseböseböseböse....da erinnere ich mich daran, dass man den Puschelschwanz eines KaRnickels auch "Blume" nennt....ob da eins zum anderen passt? :rofl: :rofl: :rofl: :rofl:

    https://autoit.de/index.php?page…leIt#post251138

    Neon Snake

    Einmal editiert, zuletzt von BadBunny (1. März 2011 um 19:36)

  • 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]