Text in Label vertikal zentrieren

  • Hallo,

    ist es möglich den Text nicht nur horizontal zu zentrieren ($SS_CENTER) sondern auch vertikal? Ich habe Text der mal ein- oder zweizeilig ist, aber immer zentriert sein soll.

    Gruß

  • Beispiel:

    Spoiler anzeigen
    [autoit]

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

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

    $hGui = GUICreate("CenterLabel", 311, 172)
    $Label = GUICtrlCreateLabel("Text", 0, 0, 311, 172, BitOR($SS_CENTER,$SS_CENTERIMAGE))
    GUIRegisterMsg(0x0005,"resize")
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Label
    WinMove($hGui,"",@DesktopWidth/2-400,@DesktopHeight/2-200,800,400)
    EndSwitch
    WEnd

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

    Func resize()
    $pos = WinGetPos($hGui)
    If IsArray($pos) Then
    GUICtrlSetPos($Label,0,0,$pos[2],$pos[3])
    EndIf
    EndFunc

    [/autoit]

    Weiterführende Frage:
    Warum ist das Label nicht mehr genau zentriert, wenn man die SizeBox für die GUI aktiviert?

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!