variables label

  • 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)
    GUISetState()

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    Exit
    EndSwitch
    WEnd

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

    Func _BreakText($sText, $iLen = 75)
    Return StringRegExpReplace($sText, "([\w\W]{" & $iLen & "})", "\1" & @CRLF)
    EndFunc ;==>_BreakText

    [/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
    WEnd

    [/autoit]

    Edit: 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)
    Return StringRegExpReplace($sText, "([\w\W]{0," & $iLen & "}\b)", "\1" & @CRLF)
    EndFunc ;==>_BreakText

    [/autoit]

    so funktioniert sie nun auch korrekt, und bricht den Text nicht mitten im Wort um.