Radiobuttentext wird nach GUICtrlSetFont nicht mehr richtig angezeigt

  • Im zweiten GUI Fenster wird der eine Radiobutton nicht richtig angezeigt.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>; Die spitzklammern nimmt das Syntaxhighlitening ja immer noch nicht an!?
    #include <GUICombo.au3>
    $MA = "Rock|Classic Rock|Hard Rock|Pop|HipHop|Rap"
    $HA = "Speed|Graffiti|Skyline|Cityscape|Muscle|Money|Cash|Base"
    $OA = "Outskirts (0Cr)|Hi-Rev Tuners Section (100 Cr)|'Pump It UP!' Section (100 Cr)|Luxury Section (200 Cr)|Food Court (200 Cr)|Main Floor (500 Cr)|Front Entrance(1000 Cr)"
    $G1 = GUICreate("Drag Racer Trainer", 600, 250)
    GUISetFont(14)
    GUICtrlCreateLabel("Dieser Trainer Automatisiert den Show Off Modus von Drag Racer v3", 20, 20)
    GUICtrlCreateLabel("Achtung! Dieser Trainer wurde nur für Firefox v1.5 getestet", 60, 60)
    GUICtrlCreateLabel("Bitte wählen sie im folgenden Fenster aus den Einstellungen", 60, 100)
    $W1 = GUICtrlCreateButton("Weiter", 380, 210, 80)
    $F1 = GUICtrlCreateButton(" Fertig", 500, 210, 75)
    $Fa1 = GUISetBkColor(0x0000CD)
    GUISetState(@SW_Show, $G1)
    $G2 = GUICreate("Drag Racer Trainer Auswahl", 600, 200)
    GUISetBkColor(0x0000CD)
    $CBM = GUICtrlCreateCombo("Bitte wählen sie die Musik", 25, 25, -1 ,-1, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
    GUICtrlSetData($CBM, $MA)
    $CBH = GUICtrlCreateCombo("Bitte wählen sie den Hintergrund", 375, 25, -1 ,-1, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
    GUICtrlSetData($CBH, $HA)
    $CBA = GUICtrlCreateCombo("Bitte wählen sie den Ausstellungsort", 25, 120, -1 ,-1, BitOr($GUI_SS_DEFAULT_COMBO, $CBS_DROPDOWNLIST))
    GUICtrlSetData($CBA, $OA)
    $R1 = GUICtrlCreateRadio("Das Spiel ist in einem Fenster ", 260, 110)
    $R2 = GUICtrlCreateRadio("Das Spiel ist in einem Task ", 260, 140)
    $B2 = GUICtrlCreateButton("Bestätigen", 435, 170)
    $B3 = GUICtrlCreateButton("Abbrechen", 375, 170)
    GUICtrlSetFont($R1, 12)
    While 1
    $msg = GUIGetMsg()
    If $msg = $W1 Then
    GUISetState(@SW_Show, $G2)
    GUISetState(@SW_Hide, $G1)
    EndIf
    Select
    Case $msg = $B3 Or $msg = $GUI_Event_Close
    Exit
    Case $msg = $B2
    $CB1 = GUICtrlRead($CBM)
    $CB2 = GUICtrlRead($CBH)
    $CB3 = GUICtrlRead($CBA)
    $RB1 = GUICtrlRead($R1)
    $RB2 = GUICtrlRead($R2)
    Select
    Case $RB1 = 1
    $FoT = 0
    Case $RB2 = 1
    $FoT = 25
    Case Else
    MsgBox(0, "Bitte Wählen", "Sie haben dem Programm nicht mitgeteilt," & @CRLF & "ob das Programm in einem Task ist oder nicht!")
    EndSelect
    $MFI = _GUICtrlComboGetCurSel($CBM)
    $HFI = _GUICtrlComboGetCurSel($CBH)
    $AFI = _GUICtrlComboGetCurSel($CBA)
    $MFIY = "M"&$MFI
    $HFIY = "H"&$HFI
    $AFIY = "A"&$AFI
    MsgBox(0, "Test", "Bei Musik haben sie das ausgewählt: "&$CB1&@CRLF&"Das entspricht: "&$MFIY)
    MsgBox(0, "Test", "Bei Hintergrund haben sie das ausgewählt: "&$CB2&@CRLF&"Das entspricht: "&$HFIY)
    MsgBox(0, "Test", "Bei Ausstellungsort haben sie das ausgewählt: "&$CB3&@CRLF&"Das entspricht: "&$AFIY)
    EndSelect
    WEnd

    [/autoit]

    edit bernd670: was gibt es denn für ein Problem mit den spitzen Klammern? Also bei mir geht's!

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    3 Mal editiert, zuletzt von bernd670 (1. Dezember 2007 um 20:45)

  • Danke für den Tipp, hat funktioniert. Jetzt hab ich aber ein neues Problem: Diese Zeile funktioniert nicht so wie sie soll:

    [autoit]

    $KDP = @AppDataCommonDir&"\XT\KD"
    FileInstall("C:\Dokumente und Einstellungen\Fabian\Desktop\AutoItDateien\Hilfsdateien\KOI.ini", @TempDir, 1)
    If not FileExists($KDP&"\KOI.ini") Then FileMove(@TempDir&"\KOI.ini", $KDP&"KOI.ini", 9)

    [/autoit]


    Zur Erklärung: Die Datei KOI.ini soll in das Script gepackt werden ,dann die Datei auf dem Computer ,auf dem das Script läuft ins Temp Verzeichnis kopiert werden.
    Anschließend soll die ini in das mit $KDP angegebene Verzeichnis auf dem Zielcomputer(z. B. von meinem Freund) verschoben, falls sie dort noch nicht vorhanden ist.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    Einmal editiert, zuletzt von bernd670 (1. Dezember 2007 um 20:54)

    • Offizieller Beitrag

    Warum erst installieren und dann nur bei Bedarf verschieben?
    Besser ist doch: nur installieren, wenn nicht da:

    [autoit]

    $KDP = @AppDataCommonDir & "\XT\KD"
    If not FileExists($KDP&"\KOI.ini") Then _
    FileInstall("C:\Dokumente und Einstellungen\Fabian\Desktop\AutoItDateien\Hilfsdateien\KOI.ini", $KDP & "\KOI.ini")

    [/autoit]
  • Der Pfad besteht ja noch nicht, der muss erst angelegt werden. Oder gibt es sowas wie DirCreate? Das mach ich, weil ich später das noch so Umbaue dass ich Updaten kann. Außerdem hab ich mir gedacht dass ich die Zwei Inis vergleichen könnte und wenn die nicht übereinstimmen ne MsgBox anzeigen mit sowas wie"Du Depp hast an der ini rumgemacht!!!" (Mein Freund soll ja nicht an der Ini Rumfummeln ;) )

    Edit: Noch ein Problem gefunden: er hat ja die ini nicht. d.h Ich muss die Datei immer im Script haben.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    • Offizieller Beitrag

    Ja, den Pfad mußt Du mit: DirCreate ( "path" ) vorher anlegen.
    Und wenn an der INI nichts geändert werden soll, dann schreib sie doch bei Skriptstart.

    [autoit]

    If Not FileExists(....INI) Then
    INIWrite(...) ; oder INIWriteSection(...)
    EndIf

    [/autoit]
  • Wieso steht in der Hilfe nix von DirCreate? (ich hab die Suche benutzt!)* Noch mal nachschau*
    Edit: ******* steht doch drin. Und das mit Update hab ich so gemeint dass ich ihm dann ein Programm schick dass die Ini auch Programmintern verändert. Also mit dem Konstrukt:

    [autoit]

    If FileExists(@TempDir&"\KOIU.ini") Then FileMove(@TempDir&"\KOIU.ini", @TempDir&"\KOI.ini", 9) And FileMove(@TempDir&"\KOIU.ini", @AppDataCommonDir&"\XT\KD\KOI.ini" And FileDelete(@TempDir&"\KOIU.ini"); (U steht für Update), hab das nur aus dem Kopf geschrieben

    [/autoit]

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    3 Mal editiert, zuletzt von bernd670 (1. Dezember 2007 um 20:55)

    • Offizieller Beitrag

    Warum so kompliziert?
    Für ein Update erweiterst du einfach die INI um die entsprechenden Einträge/Sektionen. Du mußt ja davon ausgehen, dass in der INI inzwischen nutzerspezifische Änderungen gespeichert sind (sonst hättest du ja die Werte nicht in einer INI, sondern als Variablen/Konstanten im Programm).
    Also füge beim Ausführen des Updates nur neue Werte hinzu, damit die alten Einstellungen nicht verloren gehen.
    Du kannst ja um sicher zu gehen, beides hinterlegen.

    Spoiler anzeigen
    [autoit]

    If Not FileExists($INIPath) Then
    FileInstall('..\Quell-Pfad INI', $INIPath)
    Else
    IniWriteSection($INIPath, 'sectionNEW', 'data') ; neue Sektion
    IniWrite($INIPath, 'section', 'key', 'value') ; geänderte oder neue Werte in vorhandener Sektion
    EndIf

    [/autoit]
  • Ich will ja später auch noch Koordinaten für verschiedene Auflösungen hinterlegen, außerdem soll ja beim Programmstart die ini Überprüft werden. Und mit der ini gehts (Auch wenn dus nicht glaubts) bequemer. Deswegen so kompliziert.

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)