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 0 |
| @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 <WindowsStylesConstants.au3>
Global $g_idLbl_Msg, $g_hRichEdit
Example()
Func Example()
Local $hGui = GUICreate("RichEdit Ermittelt bzw. setzt CharAttributes", 320, 350, -1, -1)
$g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "This is a test.", 10, 10, 300, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$g_idLbl_Msg = GUICtrlCreateLabel("", 10, 235, 300, 60)
Local $idBtn_Next = GUICtrlCreateButton("Nächste", 270, 310, 40, 30)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_SetText($g_hRichEdit, "Paragraph 1 ")
Local $iMsg, $iStep = 0
While True
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($g_hRichEdit) ; erforderlich, sofern das Skript nicht abstürzt
; GUIDelete() ; ist auch OK
Exit
Case $iMsg = $idBtn_Next
$iStep += 1
Switch $iStep
Case 1
_GUICtrlRichEdit_SetSel($g_hRichEdit, 0, 2)
_GUICtrlRichEdit_SetCharAttributes($g_hRichEdit, "+un")
Report("1. Zwei unterstrichene Zeichen")
Case 2
_GUICtrlRichEdit_SetSel($g_hRichEdit, 1, 5)
_GUICtrlRichEdit_SetCharAttributes($g_hRichEdit, "+bo")
Report("2. Einige Zeichen sind fett gedruckt.")
Case 3
; Alle Texte auf den Desktop streamen, damit Sie die Einstellungen in Word einsehen können
_GUICtrlRichEdit_Deselect($g_hRichEdit)
_GUICtrlRichEdit_StreamToFile($g_hRichEdit, @DesktopDir & "\gcre.rtf")
GUICtrlSetState($idBtn_Next, $GUI_DISABLE)
EndSwitch
EndSelect
WEnd
EndFunc ;==>Example
Func Report($sMsg)
$sMsg = $sMsg & @CRLF & @CRLF & _GUICtrlRichEdit_GetCharAttributes($g_hRichEdit)
GUICtrlSetData($g_idLbl_Msg, $sMsg)
EndFunc ;==>Report