UDF > GUI > GuiRichEdit >


_GUICtrlRichEdit_SetCharColor

Définit la couleur du texte sélectionné ou, à défaut de sélection, la couleur du texte inséré au point d'insertion

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetCharColor ( $hWnd [, $iColor = Default] )

Paramètres

$hWnd Handle du contrôle
$iColor [optionnel] Une des valeurs suivantes:
Un nombre - une valeur COLORREF
Le mot-clé Default - la couleur système (par défaut)

Valeur de retour

Succès: Retourne True.
Échec: Retourne False et définit @error <> 0.
@error: 101 - $hWnd n'est pas un handle
1022 - $iColor est invalide

Remarque

Si vous avez besoin de créer une valeur COLORREF à partir d'un tableau de couleur, utilisez _ColorSetCOLORREF(), pas _ColorSetRGB().

En relation

_GUICtrlRichEdit_GetCharColor

Voir aussi

Consultez EM_SETCHARFORMAT dans la librairie MSDN.

Exemple

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

Global $g_idLblMsg, $g_hRichEdit

Example()

Func Example()
    Local $hGui, $iMsg, $idBtnNext, $iStep = 0
    $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
    $g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "", 10, 10, 300, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 40, 30)
    GUISetState(@SW_SHOW)

    _GUICtrlRichEdit_SetText($g_hRichEdit, "Paragraphe 1")

    $iMsg = GUIGetMsg()
    While $iMsg <> $GUI_EVENT_CLOSE
        If $iMsg = $idBtnNext Then
            $iStep += 1
            Switch $iStep
                Case 1
                    Report("1. Paramètre initial")
                Case 2
                    _GUICtrlRichEdit_SetCharColor($g_hRichEdit, "304050")
                    Report("2. Paramètre actuel")
                Case 3
                    _GUICtrlRichEdit_SetSel($g_hRichEdit, 1, 5)
                    _GUICtrlRichEdit_SetCharColor($g_hRichEdit)
                    Report("3. Le fond de quelques caractères a changé")
                Case 4
                    _GUICtrlRichEdit_SetSel($g_hRichEdit, 6, -1)
                    ; Sauve le texte sur le bureau de sorte que vous puissez regarder les paramètres dans Word
                    _GUICtrlRichEdit_Deselect($g_hRichEdit)
                    _GUICtrlRichEdit_StreamToFile($g_hRichEdit, @DesktopDir & "\gcre.rtf")
                    Report("4. Sauvé dans le fichier gcre.rtf sur le bureau")
                    GUICtrlSetState($idBtnNext, $GUI_DISABLE)
            EndSwitch
        EndIf
        $iMsg = GUIGetMsg()
    WEnd

    _GUICtrlRichEdit_Destroy($g_hRichEdit) ; Nécessaire sauf si le script se bloque
    ; GUIDelete(); est OK aussi
EndFunc   ;==>Example

Func Report($sMsg)
    Local $iColor = _GUICtrlRichEdit_GetCharColor($g_hRichEdit)
    Local $sMixed = @extended ? "+" : "~"
    Local $aRet = _ColorGetRGB($iColor)
    $sMsg = $sMsg & @CRLF & @CRLF & $aRet[0] & ";" & $aRet[1] & ";" & $Aret[2] & " Couleur=0x" & Hex($iColor) & ":" & $sMixed
    GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc   ;==>Report