Titelüberischt

  • Hey, ich möchte gerne für mein Defender spiel (wobei ich auch noch hilfe benötige, (gibs auch ein Thred hier im forum) da es irgendwie laggt) ein Titelbildschirm machen.

    Ich habe mir bereits ein Hintergrund in GIMP gemacht, & wollte jz mit _GDIPlus_GraphicsDrawStringEx die anderen String erstellen. Sie sollen den Titel :"Start" & "Optionen" & "Beenden" haben. Doch leider kenne ich mich damit auch noch nicht so gut aus :D ich habe bereits von name22 ein schönes beispiel Skript bekommen. Damit habe ich wenigstens die ansätze verstanden. Doch leider schaffe ich es nicht bei 2 (oder mehr) Strings die Aktionen zu Registrieren. (Ich habe die Variablen ebend flott hinzugefügt, wollte jz keine Arrys dafür erstellen (weiß nicht ob die da sogar besser wären))

    Ich glaube mein Problem liegt einfach nur an der Case & If abfrage, da er auch 2 mal die MsgBox aufruft wenn ich den 2ten String anklicke. Doch ich weiß leider nichtmal was $GUI_EVENT_PRIMARYDOWN ist :D

    Spoiler anzeigen
    [autoit]

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

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

    ;- Author: name22 (http://www.autoit.de)

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

    $iX = 50
    $iY = 30
    $XX = 150
    $YY = 30
    $sFont = "Arial"
    $iFontSize = 20
    $sString = "AutoIt"

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

    $hWnd = GUICreate("Beispiel", 500, 100)
    GUISetState()

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

    _GDIPlus_Startup()

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

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

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

    $hBrush = _GDIPlus_BrushCreateSolid(0xFFF4567F)
    $hBrush1 = _GDIPlus_BrushCreateSolid(0xFF0000FF)

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

    $hStringFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate($sFont)
    $hFont = _GDIPlus_FontCreate($hFamily, $iFontSize)
    $tLayout = _GDIPlus_RectFCreate($iX, $iY) ;X und Y Koordinaten angeben, Breite und Höhe ist irrelevant und kann 0 bleiben
    $tLayout1 = _GDIPlus_RectFCreate($XX, $YY) ;X und Y Koordinaten angeben, Breite und Höhe ist irrelevant und kann 0 bleiben

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

    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout, $hStringFormat) ;Misst die Breite/Höhe des angegebenen Strings mit der Schrift in $hFont
    $aInfo1 = _GDIPlus_GraphicsMeasureString($hGraphics, $sString, $hFont, $tLayout1, $hStringFormat) ;Misst die Breite/Höhe des angegebenen Strings mit der Schrift in $hFont
    ;Die gewollten Daten stecken in einem DLLStruct in $aInfo[0] die anderen Array Elemente enthalten weitere Daten die hier nicht benötigt werden.
    ;Wie das Struct aufgebaut ist, steht in der Hilfe zu $tagGDIPRECTF
    $iWidth = DllStructGetData($aInfo[0], "Width") ;Breite
    $iHeight = DllStructGetData($aInfo[0], "Height") ;Höhe
    $XWidth = DllStructGetData($aInfo1[0], "Width") ;Breite
    $YHeight = DllStructGetData($aInfo1[0], "Height") ;Höhe

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

    ;Hier wird das DLLStruct für PtInRect erstellt
    $tRect_AutoIt = DllStructCreate($tagRECT)
    DllStructSetData($tRect_AutoIt, "Left", $iX) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Top", $iY) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Right", $iX + $iWidth) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Bottom", $iY + $iHeight) ;Untere Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Left", $XX) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Top", $YY) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Right", $XX + $XWidth) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Bottom", $YY + $YHeight) ;Untere Kante des Rechtecks

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

    _Paint()
    GUIRegisterMsg($WM_PAINT, "_Paint") ;Neuzeichnen, falls Fenster verdeckt wurde.

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $GUI_EVENT_PRIMARYDOWN ;Sobald die linke Maustaste innerhalb der Clientarea des Fensters geklickt wird, wird diese Nachricht gesendet.
    $tPoint_MousePos = _WinAPI_GetMousePos(True, $hWnd);Mausposition wird in einem DLLStruct zurückgegeben. Die Parameter geben an, dass die Koordinaten rel. zum Fenster sein sollen.
    If _WinAPI_PtInRect($tRect_AutoIt, $tPoint_MousePos) Then MsgBox(64, "Event", "Mausklick auf 'AutoIt' registriert.")
    If _WinAPI_PtInRect($tRect_AutoIt, $tPoint_MousePos) Then MsgBox(64, "Event", "Mausklick auf 'AutoIt' registriert.")

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

    EndSwitch
    WEnd

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

    Func _Paint()
    _GDIPlus_GraphicsClear($hGraphics, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $tLayout, $hStringFormat, $hBrush) ;String zeichnen
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString, $hFont, $tLayout1, $hStringFormat, $hBrush1) ;String zeichnen
    EndFunc

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

    ;Aufräumen - Wichtig!
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_StringFormatDispose($hStringFormat)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_Shutdown()

    [/autoit]

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.

    Einmal editiert, zuletzt von Niccoo (13. April 2012 um 14:10)

  • ... Du brauchst auch 2 verschiedene DLL Structs für verschiedene Strings... :rolleyes:
    Und bennene mal deine Variablen sinnvoller. $iX und $XX.. Ernsthaft? ^^
    Ich habs jetzt mal zum funktionieren gebracht (und aufgeräumt), aber ich würde das an deiner Stelle mit Arrays machen. Ließ dir die Kommentare mal genauer durch, ich hab eigentlich alles nötige beschrieben.

    Spoiler anzeigen
    [autoit]

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

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

    ;- Author: name22 (http://www.autoit.de)

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

    $iX_AutoIt = 50
    $iY_AutoIt = 30
    $iX_Niccoo = 150
    $iY_Niccoo = 30
    $sString_AutoIt = "AutoIt"
    $sString_Niccoo = "Niccoo"

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

    $sFont = "Arial"
    $iFontSize = 20

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

    $hWnd = GUICreate("Beispiel", 300, 100)
    GUISetState()

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

    _GDIPlus_Startup()

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

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

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

    $hBrush_AutoIt = _GDIPlus_BrushCreateSolid(0xFFF4567F)
    $hBrush_Niccoo = _GDIPlus_BrushCreateSolid(0xFF0000FF)

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

    $hStringFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate($sFont)
    $hFont = _GDIPlus_FontCreate($hFamily, $iFontSize)
    $tLayout_AutoIt = _GDIPlus_RectFCreate($iX_AutoIt, $iY_AutoIt) ;X und Y Koordinaten angeben, Breite und Höhe ist irrelevant und kann 0 bleiben
    $tLayout_Niccoo = _GDIPlus_RectFCreate($iX_Niccoo, $iY_Niccoo) ;X und Y Koordinaten angeben, Breite und Höhe ist irrelevant und kann 0 bleiben

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

    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString_AutoIt, $hFont, $tLayout_AutoIt, $hStringFormat) ;Misst die Breite/Höhe des angegebenen Strings mit der Schrift in $hFont
    ;Die gewollten Daten stecken in einem DLLStruct in $aInfo[0] die anderen Array Elemente enthalten weitere Daten die hier nicht benötigt werden.
    ;Wie das Struct aufgebaut ist, steht in der Hilfe zu $tagGDIPRECTF
    $iWidth_AutoIt = DllStructGetData($aInfo[0], "Width") ;Breite
    $iHeight_AutoIt = DllStructGetData($aInfo[0], "Height") ;Höhe

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

    $aInfo = _GDIPlus_GraphicsMeasureString($hGraphics, $sString_Niccoo, $hFont, $tLayout_Niccoo, $hStringFormat)
    $iWidth_Niccoo = DllStructGetData($aInfo[0], "Width") ;Breite
    $iHeight_Niccoo = DllStructGetData($aInfo[0], "Height") ;Höhe

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

    ;Hier wird das 1te DLLStruct für PtInRect erstellt
    $tRect_AutoIt = DllStructCreate($tagRECT)
    DllStructSetData($tRect_AutoIt, "Left", $iX_AutoIt) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Top", $iY_AutoIt) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Right", $iX_AutoIt + $iWidth_AutoIt) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_AutoIt, "Bottom", $iY_AutoIt + $iHeight_AutoIt) ;Untere Kante des Rechtecks
    ;Und hier das 2te...
    $tRect_Niccoo = DllStructCreate($tagRECT)
    DllStructSetData($tRect_Niccoo, "Left", $iX_Niccoo) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_Niccoo, "Top", $iY_Niccoo) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_Niccoo, "Right", $iX_Niccoo + $iWidth_Niccoo) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_Niccoo, "Bottom", $iY_Niccoo + $iHeight_Niccoo) ;Untere Kante des Rechtecks
    ;Und ja, du bauchst 2 !!!!11

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

    _Paint()
    GUIRegisterMsg($WM_PAINT, "_Paint") ;Neuzeichnen, falls Fenster verdeckt wurde.

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

    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $GUI_EVENT_PRIMARYDOWN ;Sobald die linke Maustaste innerhalb der Clientarea des Fensters geklickt wird, wird diese Nachricht gesendet. Diese Case wird ausgeführt wenn ein Linksklick auf das Fenster ausgeführt wird...
    $tPoint_MousePos = _WinAPI_GetMousePos(True, $hWnd);Mausposition wird in einem DLLStruct zurückgegeben. Die Parameter geben an, dass die Koordinaten rel. zum Fenster sein sollen.

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

    Switch True ;Da nur jeweils einer von beiden Fällen eintreten kann, ist hier eine Switch Abfrage sinnvoller.
    Case _WinAPI_PtInRect($tRect_AutoIt, $tPoint_MousePos)
    MsgBox(64, "Event", "Mausklick auf 'AutoIt' registriert.")
    Case _WinAPI_PtInRect($tRect_Niccoo, $tPoint_MousePos)
    MsgBox(64, "Event", "Mausklick auf 'Niccoo' registriert.")
    EndSwitch
    EndSwitch
    WEnd

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

    Func _Paint()
    _GDIPlus_GraphicsClear($hGraphics, 0xFFFFFFFF)
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString_AutoIt, $hFont, $tLayout_AutoIt, $hStringFormat, $hBrush_AutoIt) ;String zeichnen
    _GDIPlus_GraphicsDrawStringEx($hGraphics, $sString_Niccoo, $hFont, $tLayout_Niccoo, $hStringFormat, $hBrush_Niccoo) ;String zeichnen
    EndFunc ;==>_Paint

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

    ;Aufräumen - Wichtig!
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_BrushDispose($hBrush_AutoIt)
    _GDIPlus_BrushDispose($hBrush_Niccoo) ;Beide Brushes entfernen... Du erstellst 2? Dann entferne beide!
    _GDIPlus_StringFormatDispose($hStringFormat)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_Shutdown()

    [/autoit]
  • Richtig gut! Richtig fettes DANKE!!!!!!!

    Ja werde ich machen, jz da wo ich weiß wie es geht, werde ich mal ein wenig mit rumspielen und schauen wie ich es kürzer bekomme ;)

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.

  • Mhm... ich habe eig. alles so umgebaut, wie es bei dir war. Rausgekommen ist etwas sehr unübersichtliches und etwas was nicht funktioniert...

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiConstantsEx.au3>
    #include <Misc.au3>
    #include <Array.au3>

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

    Opt('GUICloseOnESC', 1) ; Beenden mit Esc ?
    ;Opt('GUIOnEventMode', 1) ; Event Mode
    ;Opt('MustDeclareVars', 1) ; Variablen müssen deklariert werden. (sauberes Programmieren nötig)
    ;Opt('MouseCoordMode', 2) ; Mauskoordinaten relativ zum Fenster

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

    Global Const $iBreite = 800, $iHoehe = 400

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

    Global $hGUI, $hGFX, $hBMP, $hBUF, $hMap
    Global $iX_Start = 400, $iY_Start = 150, $iX_Optionen = 400, $iY_Optionen = 200, $iX_Beenden = 400, $iY_Beenden = 250, $sFont = "Arial", $iFontSize = 20, $sStart = "Start", $sOption = "Optionen", $sBeenden = "Beenden"

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

    _GDIPlus_Startup()

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

    $hGUI = GUICreate("Defender", $iBreite, $iHoehe)
    $hGFX = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hMap = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\StartBild1.jpg")
    _GDIPlus_GraphicsSetSmoothingMode($hGFX, 2)

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

    Global $hStringFormat = _GDIPlus_StringFormatCreate()
    Global $hFamily = _GDIPlus_FontFamilyCreate($sFont)
    Global $hFont = _GDIPlus_FontCreate($hFamily, $iFontSize)
    Global $tLayout_Start = _GDIPlus_RectFCreate($iX_Start, $iY_Start)
    Global $tLayout_Optionen = _GDIPlus_RectFCreate($iX_Optionen, $iY_Optionen)
    Global $tLayout_Beenden = _GDIPlus_RectFCreate($iX_Beenden, $iY_Beenden)
    Global $hBrush = _GDIPlus_BrushCreateSolid(0xFFDCBA78)

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

    Global $aInfo = _GDIPlus_GraphicsMeasureString($hGFX, $sStart, $hFont, $tLayout_Start, $hStringFormat)
    Global $iWidth_Start = DllStructGetData($aInfo[0], "Width") ;Breite
    Global $iHeight_Start = DllStructGetData($aInfo[0], "Height") ;Höhe
    Global $aInfo = _GDIPlus_GraphicsMeasureString($hGFX, $sOption, $hFont, $tLayout_Optionen, $hStringFormat)
    Global $iWidth_Optionen = DllStructGetData($aInfo[0], "Width") ;Breite
    Global $iHeight_Optionen = DllStructGetData($aInfo[0], "Height") ;Höhe
    Global $aInfo = _GDIPlus_GraphicsMeasureString($hGFX, $sBeenden, $hFont, $tLayout_Beenden, $hStringFormat)
    Global $iWidth_Beenden = DllStructGetData($aInfo[0], "Width") ;Breite
    Global $iHeight_Beenden = DllStructGetData($aInfo[0], "Height") ;Höhe

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

    Global $tRect_Beenden,$tRect_Optionen,$tRect_Start
    $tRect_Start = DllStructCreate($tagRECT)
    DllStructSetData($tRect_Start, "Left", $iX_Start) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_Start, "Top", $iY_Start) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_Start, "Right", $iX_Start + $iWidth_Start) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_Start, "Bottom", $iY_Start + $iHeight_Start) ;Untere Kante des Rechteck

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

    $tRect_Optionen = DllStructCreate($tagRECT)
    DllStructSetData($tRect_Optionen, "Left", $iX_Optionen) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_Optionen, "Top", $iY_Optionen) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_Optionen, "Right", $iX_Optionen + $iWidth_Optionen) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_Optionen, "Bottom", $iY_Optionen + $iHeight_Optionen) ;Untere Kante des Rechteck
    $tRect_Beenden = DllStructCreate($tagRECT)
    DllStructSetData($tRect_Beenden, "Left", $iX_Beenden) ;Linke Kante des Rechtecks
    DllStructSetData($tRect_Beenden, "Top", $iY_Beenden) ;Obere Kante des Rechtecks
    DllStructSetData($tRect_Beenden, "Right", $iX_Beenden + $iWidth_Beenden) ;Rechte Kante des Rechtecks
    DllStructSetData($tRect_Beenden, "Bottom", $iY_Beenden + $iHeight_Beenden) ;Untere Kante des Rechteck

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

    GUISetOnEvent(-3,'___Exit', $hGUI) ; Exit
    OnAutoItExitRegister('_Freigeben') ; Beim Beenden auch alle Ressourcen freigeben.
    GUIRegisterMsg($WM_PAINT, "_Paint")
    GUISetState(@SW_SHOW)
    _Paint()

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

    While True
    Local $tPoint_MousePos
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $GUI_EVENT_PRIMARYDOWN ;Sobald die linke Maustaste innerhalb der Clientarea des Fensters geklickt wird, wird diese Nachricht gesendet. Diese Case wird ausgeführt wenn ein Linksklick auf das Fenster ausgeführt wird...
    $tPoint_MousePos = _WinAPI_GetMousePos(True, $hGUI);Mausposition wird in einem DLLStruct zurückgegeben. Die Parameter geben an, dass die Koordinaten rel. zum Fenster sein sollen.

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

    Switch True ;Da nur jeweils einer von beiden Fällen eintreten kann, ist hier eine Switch Abfrage sinnvoller.
    Case _WinAPI_PtInRect($tRect_Start, $tPoint_MousePos)
    MsgBox(64, "Event", "Mausklick auf 'AutoIt' registriert.")
    Case _WinAPI_PtInRect($tRect_Optionen, $tPoint_MousePos)
    MsgBox(64, "Event", "Mausklick auf 'Niccoo' registriert.")
    EndSwitch
    EndSwitch
    WEnd

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

    Func _Paint()
    _GDIPlus_GraphicsDrawImageRect($hGFX, $hMap, 0, 0, 800, 400)
    _GDIPlus_GraphicsDrawStringEx($hGFX, $sStart, $sFont, $tLayout_Start, $hStringFormat, $hBrush) ;String zeichnen
    _GDIPlus_GraphicsDrawStringEx($hGFX, $sOption, $sFont, $tLayout_Optionen, $hStringFormat, $hBrush) ;String zeichnen
    _GDIPlus_GraphicsDrawStringEx($hGFX, $sBeenden, $sFont, $tLayout_Beenden, $hStringFormat, $hBrush) ;String zeichnen
    MsgBox(0,"",$hBUF & " String" & $sBeenden & " Font " & $sFont & " Layout " & $tLayout_Beenden & "hString " & $hStringFormat & "Brsh " & $hBrush)
    EndFunc

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

    Func _Freigeben()

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

    _GDIPlus_GraphicsDispose($hBUF)
    _GDIPlus_BitmapDispose($hBMP)
    _GDIPlus_GraphicsDispose($hGFX)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hMap)
    _GDIPlus_StringFormatDispose($hStringFormat)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_Shutdown()

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

    EndFunc

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

    Func ___Exit()
    Exit
    EndFunc

    [/autoit]

    Ich weiß, das der Fehler irgendwo bei StringEx liegt, allerdings habe ich alle variablen richtig zugeordnet...

    Spoiler anzeigen
    [autoit]

    _GDIPlus_GraphicsDrawStringEx($hGFX, $sStart, $sFont, $tLayout_Start, $hStringFormat, $hBrush) ;String zeichnen

    [/autoit] [autoit]

    $hGUI = GUICreate("Defender", $iBreite, $iHoehe)
    $hGFX = _GDIPlus_GraphicsCreateFromHWND($hGUI)

    [/autoit] [autoit]

    $sStart = "Start"

    [/autoit] [autoit]

    $sFont = "Arial"

    [/autoit] [autoit]

    Global $tLayout_Start = _GDIPlus_RectFCreate($iX_Start, $iY_Start)
    $iX_Start = 400, $iY_Start = 150

    [/autoit] [autoit]

    Global $hStringFormat = _GDIPlus_StringFormatCreate()

    [/autoit] [autoit]

    Global $hBrush = _GDIPlus_BrushCreateSolid(0xFFDCBA78)

    [/autoit]

    Ich meine, alles richtig gemacht zu haben :/

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.

  • Ok :) danke jz funkts

    MfG Nico

    MfG - Mit freundlichen Grüssen

    die Welt liegt uns zu Füssen, den wir steh'n drauf

    wir geh'n drauf für ein Leben voller Schall und Rauch

    bevor wir fall'n, fall'n wir lieber auf.