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ß
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:
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$hGui = GUICreate("CenterLabel", 311, 172)
$Label = GUICtrlCreateLabel("Text", 0, 0, 311, 172, BitOR($SS_CENTER,$SS_CENTERIMAGE))
GUIRegisterMsg(0x0005,"resize")
GUISetState(@SW_SHOW)
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
Func resize()
$pos = WinGetPos($hGui)
If IsArray($pos) Then
GUICtrlSetPos($Label,0,0,$pos[2],$pos[3])
EndIf
EndFunc
Weiterführende Frage:
Warum ist das Label nicht mehr genau zentriert, wenn man die SizeBox für die GUI aktiviert?
Die lösung ist $SS_CENTERIMAGE aber leider wird der Text dann nichtmehr umgebrochen. Schade.