Text zentieren

  • Hallo,
    ich experimentiere momentan etwas mit GUI usw. rum.
    Dabei möchte ich einen Button dessen Schrift mehrzeilig, Horizontal- und vertikal zentriert und farbig sen soll erstellen.

    Testscript hier:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #region ### START Koda GUI section
    ; Das Fenster der GUI erstellen und formatieren
    GUICreate(" Status des WLAN-Adapters umschalten.", 420, 269, -1, 124)
    GUISetBkColor(0x808080)
    $Button_2 = GUICtrlCreateButton("WLAN" & @CRLF & "aktivieren.", 46, 48, 330, 174, BitOR($BS_PUSHLIKE, $BS_MULTILINE, $WS_BORDER, $BS_CENTER))
    GUICtrlSetFont(-1, 30, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0xA0A0A4)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $GUI_Msg = GUIGetMsg()
    Select
    Case $GUI_Msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

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

    Exit

    [/autoit]


    Wenn ich keine Farben angebe, so wird der Text auch vertikal zentriert, aber sobald ich eine Farbe angebe, ist es aber mit dem vertikal zentrieren vorbei.

    Kann man soetwas überhaupt erreichen und wen "ja" wie geht das ?

    MfG
    BigRox

  • Hallo m-obi,

    ich habe es eben mal mit "$SS_CENTERIMAGE" probiert.

    Ergebnis:
    Geht auch nicht.

    Kann man bei einem Button überhaupt dieses auswählen ?
    (Koda bietet dies nämlich nicht für einen Button an).

    MfG
    BigRox

  • Soweit mir bekannt ist, "zerschiesst" die Verwendung von Farben die verwendeten Styles (zumindest teilweise)

    Versuch mal $SS_CENTERIMAGE.


    ...funktioniert bei mir nicht. Sehe keine Änderung.

    Ich könnte dir so ne Art Workaround anbieten: setze an den Anfang der Zeichenkette einen weiteren Zeilenumbruch (@CRLF) und verwende einen kleineren Zeichensatz.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    #region ### START Koda GUI section
    ; Das Fenster der GUI erstellen und formatieren
    GUICreate(" Status des WLAN-Adapters umschalten.", 420, 269, -1, 124)
    GUISetBkColor(0x808080)
    $Button_2 = GUICtrlCreateButton(@CRLF & "WLAN" & @CRLF & "aktivieren.", 46, 48, 330, 174, BitOR($BS_PUSHLIKE, $BS_MULTILINE, $WS_BORDER, $BS_CENTER))
    GUICtrlSetFont(-1, 22, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0xA0A0A4)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $GUI_Msg = GUIGetMsg()
    Select
    Case $GUI_Msg = $GUI_EVENT_CLOSE
    ExitLoop
    EndSelect
    WEnd

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

    Exit

    [/autoit]

    Deins:
    [Blockierte Grafik: http://i.imgur.com/wqsZ4gT.png]

    Meins:
    [Blockierte Grafik: http://i.imgur.com/ykEKx2U.png]


    Sanfte Grüße :D

  • Hi, warum nicht mit "StringFormat" ? ;)

    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <ButtonConstants.au3>
    #include <WindowsConstants.au3>

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

    Global $lblBTN = '\nWLAN\naktivieren.'
    #region ### START Koda GUI section ###
    ; Das Fenster der GUI erstellen und formatieren
    GUICreate("Status des WLAN-Adapters switchen", 420, 269, -1, 124)
    GUISetBkColor(0x808080)
    Global $btn = GUICtrlCreateButton(StringFormat($lblBTN), 46, 48, 330, 174, BitOR($WS_CLIPSIBLINGS, $BS_BOTTOM, $BS_MULTILINE))
    GUICtrlSetFont(-1, 20, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0xA0A0A4)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While True
    Switch GUIGetMsg()
    Case -3
    ExitLoop
    EndSwitch
    WEnd
    ; Ende

    [/autoit]
  • Friesel
    Hier mal das Gleiche, wie Du es hast. ;)

    [autoit]


    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
    #include <ButtonConstants.au3>
    #include <WindowsConstants.au3>
    #region ### START Koda GUI section
    GUICreate("Status des WLAN-Adapters umschalten.", 420, 270)
    GUISetBkColor(0x808080)
    Global $btn = GUICtrlCreateButton(Chr(13) & "WLAN" & Chr(13) _
    & "aktivieren.", 46, 48, 330, 174, BitOR($BS_PUSHLIKE, $BS_MULTILINE, $WS_BORDER, $BS_CENTER))
    GUICtrlSetFont(-1, 22, 800, 0, "Arial Black")
    GUICtrlSetColor(-1, 0x00FF00)
    GUICtrlSetBkColor(-1, 0xA0A0A4)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While True
    Switch GUIGetMsg()
    Case -3
    ExitLoop
    EndSwitch
    WEnd
    ; Ende

    [/autoit]