Wie erstelle ich ein variables label, das sich in seiner größe der textlänge anpasst ? (auch über mehrere zeilen)
variables label
-
- [ offen ]
-
Scripter192 -
22. Februar 2010 um 21:47 -
Geschlossen -
Erledigt
-
-
Irgendwie musst du ja auch festlegen, wann der Text umgebrochen werden soll. Generell wird ein Lable allerdings mit der exakt benötigten Größe erstellt, wenn du die Parameter Width und Heigth auf -1 stellst.
Zum Textumbrechen kannst du es auch so machen: (Siehe _BreakText())
Spoiler anzeigen
[autoit]$hGUI = GUICreate("")
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateLabel(_BreakText("Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."), 20, 20)
[/autoit] [autoit][/autoit] [autoit]
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEndFunc _BreakText($sText, $iLen = 75)
[/autoit]
Return StringRegExpReplace($sText, "([\w\W]{" & $iLen & "})", "\1" & @CRLF)
EndFunc ;==>_BreakText -
Hey.
Schau dir mal folgendes an GuiEffect.au3
MfG. PrideRageEdit: Zu langsam
-
[autoit]
[/autoit]
#include <Guiconstants.au3>
Guicreate ("GUI",200,200)
$label = Guictrlcreatelabel ("Label",20,10,-1,-1) ; wenn -1 steht, passt sich die größe normalerweise an den Text an
Guisetstate ()
While 1
$msg = GUigetmsg ()
IF $msg = $GUI_EVENT_CLOSE Then Exit
WEndEdit: uhhh zu langsam :D:D
-
Sorry, dass ich das nochmal ausgrabe, aber ich bin grade nochmal auf diesen Thread gestoßen, und mir fiel auf, dass die Funktion _Breaktext fehlerhaft gearbeitet hat.
[autoit]Func _BreakText($sText, $iLen = 75)
[/autoit]
Return StringRegExpReplace($sText, "([\w\W]{0," & $iLen & "}\b)", "\1" & @CRLF)
EndFunc ;==>_BreakTextso funktioniert sie nun auch korrekt, und bricht den Text nicht mitten im Wort um.