Bug bei _GDIPlus_GraphicsDrawString + Default?

  • Hallo liebe Autoit-Com,
    ich meine bei dem GDI+ Befehl

    [autoit]

    _GDIPlus_GraphicsDrawString

    [/autoit]

    einen Bug entdeckt zu haben, im Zusammenhang mit

    [autoit]

    Default

    [/autoit]

    .

    Benutze ich nämlich

    [autoit]

    _GDIPlus_GraphicsDrawString($hGraphics, "Ich bin ein String", 0, 50, "Arial", 12)

    [/autoit]

    wird der String einwandfrei gezeichnet, benutze ich statt "Arial" jedoch Default als Schrifttypenparameter, tut sich gar nichts. Dabei ist dieser Parameter optional, der Standart ist "Arial".

    Hier ein Script zum Testen:

    Spoiler anzeigen
    [autoit]


    #include <GDIPlus.au3>
    #include <GuiConstants.au3>

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

    OnAutoItExitRegister("ende")
    Opt("GuiOnEventMode", 1)

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

    $hGui = GUICreate("Titel")
    GUISetBkColor(0xFFFFFF, $hGui)
    GUISetOnEvent($GUI_EVENT_CLOSE, "ende")
    GUISetState(@SW_SHOW, $hGui)

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

    _GDIPlus_Startup()
    $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGui)

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

    ;################### Hier brennt's:
    _GDIPlus_GraphicsDrawString($hGraphics, "Ich bin ein String", 0, 50, Default, 12) ;funktioniert nicht
    ;_GDIPlus_GraphicsDrawString($hGraphics, "Ich bin ein String", 0, 50, "Arial", 12) ;funktioniert
    ;####################

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

    While 1
    Sleep(10)
    WEnd

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

    Func ende()
    _GDIPlus_GraphicsDispose($hGraphics)
    _GDIPlus_Shutdown()
    Exit
    EndFunc ;==>ende

    [/autoit]

    PC-Daten:
    WIN7, CPU:X64, OS:X86, Autoitversion: 3.3.4.0

    Möchte mal gerne hören, was ihr dazu sagt - ist das tatsächlich ein Bug oder nur ein Fehler meinerseits?

    Viele Grüße und Dank im Vorraus,
    stayawayknight

    3 Mal editiert, zuletzt von stayawayknight (30. Dezember 2010 um 12:10)

  • Wenn man Default als Parameter angibt, ist $sFont in der Funktion "Default". Scheint mir auch ein Bug zu sein. Egal bei welcher Funktion man Default angibt, statt dem Standartwert bekomtm man den String "Default".
    Edit: Doch kein Bug:

    Zitat von &quot;Hilfe&quot;

    Falls verwendet, wird der übergebene Parameter das Default Schlüsselwort setzen und nicht als optionaler Parameter übergeben.

  • Ja, aber z.B. hier funktioniert das mit Default als Standart für einen optionalen Parameter auch einwandfrei:

    Spoiler anzeigen
    [autoit]


    GUICreate("Gui", Default, Default, 0, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(10)
    WEnd

    [/autoit]

    Ansonsten hätte die Weite/Höhe der Gui doch 0 sein müssen?