Teil von Text fett

  • Es klingt simpel, aber ich bekomme es nicht hin:
    Wie kann man einen Teil von einem Text z.B. in meinem Label fett machen?

    [autoit]

    GUICtrlCreateLabel("Dieser Satz soll normal sein. Dieser Satz hier soll fett sein.", -1, -1)

    [/autoit]


    Der Text ist dynamisch, ich kann nicht einfach das, was fett sein soll, noch mal fett überzeichnen.

    Geht das überhaupt in AutoIt?
    Wenn ja, wie?

  • Danke, kannte ich bisher nicht!

    Edit1:
    Also ich komme damit überhaupt nicht zurecht ... ich möchte dass das RichEdit Element genauso wie ein Label aussieht und sich auch so verhält.
    Es soll keinen Rahmen haben, keine Hintergrundfarbe, der Text soll nicht markierbar und editierbar sein und ich möchte eben bestimmte Wörter fett haben.

    Edit2:
    Ich bekomme es nicht hin, dass man den Text nicht markieren kann, dass das Control keinen Rahmen hat und das die GUI-Farbe der RichEdit-Farbe entspricht!

    [autoit]

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

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

    Local $gui, $iMsg, $hRichEdit, $text, $farbe = 0x99B4D1

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

    $text = "{\rtf1"
    $text &= "Das ist {\b der} erste Absatz."
    $text &= "\par Und das {\b ist der} zweite Absatz."
    $text &= "}"

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

    $gui = GUICreate("Beispiel", 320, 350, -1, -1)
    GUISetBkColor($farbe)
    $hRichEdit = _GUICtrlRichEdit_Create($gui, $text, 10, 10, 300, 220)
    _GUICtrlRichEdit_SetBkColor($hRichEdit, $farbe)
    GUISetState()

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

    While True
    $iMsg = GUIGetMsg()
    Select
    Case $iMsg = $GUI_EVENT_CLOSE
    ;_GUICtrlRichEdit_Destroy($hRichEdit)
    GUIDelete()
    Exit
    EndSelect
    WEnd

    [/autoit]
    Zitat

    _GUICtrlRichEdit_Destroy() muss aufgerufen werden bevor das Script endet.

    Quelle! Wieso eigentlich, merke keinen Unterschied, wenn nicht!

  • Hallo Crys,

    so müsste es gehen:

    Spoiler anzeigen
    [autoit]


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

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

    Local $gui, $iMsg, $hRichEdit, $text, $farbe = 0x99B4D1

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

    $text = "{\rtf1"
    $text &= "Das ist {\b der} erste Absatz."
    $text &= "\par Und das {\b ist der} zweite Absatz."
    $text &= "}"

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

    $gui = GUICreate("Beispiel", 320, 350, -1, -1)
    GUISetBkColor($farbe)

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

    $hRichEdit = _GUICtrlRichEdit_Create($gui, $text, 10, 10, 300, 220, _
    BitOR($ES_MULTILINE, $ES_READONLY), $WS_EX_TRANSPARENT)
    _GUICtrlRichEdit_HideSelection($hRichEdit)
    GUISetState()

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

    While True
    $iMsg = GUIGetMsg()
    Select
    Case $iMsg = $GUI_EVENT_CLOSE
    GUIDelete()
    Exit
    EndSelect
    WEnd

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

    MfG ThPfund

    "Es könnte alles so einfach sein..."

  • Danke ThPfund :thumbup:
    Habe immer unter _GUICtrlRichEdit_Set... geschaut, das hab ich nicht gesehen.

    Aber die Funktion ist verbuggt: wenn man die GUI minimiert und wieder hoch holt, dann kann man den Text wieder markieren :wacko:
    Und der Cursor wird auch immer blinkend im Textfeld angezeigt ...

    Aber erst mal passt das ja ... vielleicht finde ich zu den Bugs ja auch noch ne Lösung .. oder jemand Anderes ;)