Ich versuche vergeblich den Text im Button zu zentrieren das er sich Linksbündig anordnet habe ich so geschaft leider gibt es keine zentrierungsformat
Linksbündig:
[autoit]$hFormat = _GDIPlus_StringFormatCreate(0x0001)
[/autoit]wie kann man den Text zentrieren?
Spoiler anzeigen
#include <GDIPlus.au3>
#include <GDIP.au3>
Global $Title = "Example"
Global $Width = 500
Global $Height = 500
$Form = GUICreate($Title, $Width, $Height)
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
$Graphic = _GDIPlus_GraphicsCreateFromHWND($Form)
$Bitmap = _GDIPlus_BitmapCreateFromGraphics($Width, $Height, $Graphic)
$Buffer = _GDIPlus_ImageGetGraphicsContext($Bitmap)
$Brush1 = _GDIPlus_LineBrushCreate(0, 0, 0, 25, 0xFFFAFAFA, 0xFFE7E7E7)
$Brush2 = _GDIPlus_LineBrushCreate(0, 0, 0, 25, 0xFFFDFDFD, 0xFFE9E9E9)
$Brush3 = _GDIPlus_BrushCreateSolid(0xFF555555)
$Brush4 = _GDIPlus_BrushCreateSolid(0xFF222222)
$Pen1 = _GDIPlus_PenCreate(0xFFAAAAAA)
$Pen2 = _GDIPlus_PenCreate(0xFF999999)
$Pen3 = _GDIPlus_PenCreate(0xFFE0E0E0)
GUISetState()
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case -3
_GDIPlus_PenDispose($Pen1)
_GDIPlus_PenDispose($Pen2)
_GDIPlus_PenDispose($Pen3)
_GDIPlus_BrushDispose($Brush1)
_GDIPlus_BrushDispose($Brush2)
_GDIPlus_BrushDispose($Brush3)
_GDIPlus_BrushDispose($Brush4)
_GDIPlus_ImageDispose($Buffer)
_GDIPlus_BitmapDispose($Bitmap)
_GDIPlus_GraphicsDispose($Graphic)
_GDIPlus_Shutdown()
Exit
EndSwitch
_GDIPlus_GraphicsClear($Buffer, 0xFFFFFFFF)
Button(100, 100, 200, 22, "Hallo Welt")
_GDIPlus_GraphicsDrawImage($Graphic, $Bitmap, 0, 0)
WEnd
Func Button($Left, $Top, $Width, $Height, $Text)
[/autoit] [autoit][/autoit] [autoit]If Pos($Left, $Top, $Width, $Height) = True Then
$Brush = $Brush2
$Pen = $Pen2
$Color = $Brush4
_GDIPlus_GraphicsDrawLine($Buffer, $Left - 1, $Top + 1, $Left - 1, $Top + $Height - 1, $Pen3)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + $Width + 1, $Top + 1, $Left + $Width + 1, $Top + $Height - 1, $Pen3)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top - 1, $Left + $Width - 1, $Top - 1, $Pen3)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top + $Height + 1, $Left + $Width - 1, $Top + $Height + 1, $Pen3)
Else
$Color = $Brush3
$Brush = $Brush1
$Pen = $Pen1
EndIf
_GDIPlus_GraphicsFillRect($Buffer, $Left + 1, $Top + 1, $Width - 1, $Height - 1, $Brush)
_GDIPlus_GraphicsDrawLine($Buffer, $Left, $Top + 1, $Left, $Top + $Height - 1, $Pen)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + $Width, $Top + 1, $Left + $Width, $Top + $Height - 1, $Pen)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top, $Left + $Width - 1, $Top, $Pen)
_GDIPlus_GraphicsDrawLine($Buffer, $Left + 1, $Top + $Height, $Left + $Width - 1, $Top + $Height, $Pen)
$hFormat = _GDIPlus_StringFormatCreate()
$hFamily = _GDIPlus_FontFamilyCreate("Arial")
$hFont = _GDIPlus_FontCreate($hFamily, 13, 0)
$tLayout = _GDIPlus_RectFCreate($Left, $Top, $Width, $Height)
$aInfo = _GDIPlus_GraphicsMeasureString($Buffer, $Text, $hFont, $tLayout, $hFormat)
_GDIPlus_GraphicsDrawStringEx($Buffer, $Text, $hFont, $aInfo[0], $hFormat, $Color)
EndFunc ;==>Button
Func Pos($Left, $Top, $Width, $Height)
$Pos = GUIGetCursorInfo($Form)
If $Pos[0] >= $Left And $Pos[0] <= $Left + $Width And $Pos[1] >= $Top And $Pos[1] <= $Top + $Height Then Return True
EndFunc ;==>Pos