Setzt/Entfernt ein Attribut für den markierten Text oder, falls keiner markiert ist, für den Text nach der Einfügemarke (Cursor)
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetCharAttributes ( $hWnd, $sStatesAndEffects [, $bWord = False] )
$hWnd | Handle des Controls |
$sStatesAndEffects | Ein String, zusammengesetzt aus einer/mehreren Zeichengruppe(n) aus 3 Zeichen: +/- für den Zustand und ein zweibuchstabiges Kürzel für das Attribut. Erstes Zeichen: + für gesetzt, - für nicht gesetzt Kürzel für das zweite und dritte Zeichen: bo - Fett di - Deaktiviert - Zeichen angezeigt mit einem Schatten [nd] em - Ausgeprägt [nd] hi - Versteckt, z.B. nicht angezeigt im - Eingeprägt [nd] it - Kursiv li - EN_LINK Nachrichten werden gesendet, wenn die Maus über Text mit diesem Attribut fährt. ou - Umrissen [nd] pr - EN_PROTECT gesendet, wenn der Benutzer versucht den Text zu verändern. re - Markiert als revidiert [nd] sh - Schattiert [nd] sm - Kleinbuchstaben [nd] st - Durchgestrichen sb - Tiefgestellt [nd] sp - Hochgestellt [nd] un - Unterstrichen |
$bWord | [optional] True Falls Text markiert ist, wird das Attribut auf alle Wörter im markierten Text angewendet. Falls nicht: Ist der Einfügepunkt in einem Wort, oder an dessen Ende, werden die Attribute auf das Wort angewendet. Ist er es nicht, werden die Attribute auf den eingefügten Text angewendet. False (Standard) Falls Text markiert ist, wird das Attribut auf den markierten Text angewendet. Falls nicht, werden die Attribute auf den eingefügten Text angewendet. |
Erfolg: | True |
Fehler: | False und setzt das @error Flag auf ungleich null |
@error: | 101 - $hWnd ist kein Handle 103 - $bWord muss entweder True oder False sein 1021 - Länge von $sStatesAndEffects ist kein Vielfaches von 3 1022 - Erstes Zeichen der Gruppe ist nicht + oder -. Das Zeichen ist in @extended abgelegt. 1023 - Ein ungültiges Attribut-Kürzel. Ist in @extended abgelegt. |
Manche Attribute werden in einem RichEdit Control nicht dargestellt; diese sind oben mit [nd] gekennzeichnet.
- - - - - - - - Erklärung der Controls - - - - - - - -
_GUICtrlRichEdit_GetCharAttributes
Suche nach EM_SETCHARFORMAT in der MSDN Bibliothek.
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
Global $g_idLblMsg
Example()
Func Example()
Local $hGui, $iMsg, $iCp1, $hRichEdit
$hGui = GUICreate("Beispiel (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Dies ist ein Test.", 10, 10, 300, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_AutoDetectURL($hRichEdit, True)
_GUICtrlRichEdit_AppendText($hRichEdit, @CR & "http://www.autoitscript.com")
$iCp1 = _GUICtrlRichEdit_GetFirstCharPosOnLine($hRichEdit, 2)
_GUICtrlRichEdit_SetSel($hRichEdit, $iCp1, $iCp1 + 3)
Report("Die Zeichen Attribute, der zweiten Start Zeile sind " & _
_GUICtrlRichEdit_GetCharAttributes($hRichEdit))
While True
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($hRichEdit) ; wird benötigt, da sonst das Skript abstürzt
;~ GUIDelete() ; ist auch in Ordnung
Exit
EndSelect
WEnd
EndFunc ;==>Example
Func Report($sMsg)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report