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] )
$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) |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle 1022 - $iColor est invalide |
Si vous avez besoin de créer une valeur COLORREF à partir d'un tableau de couleur, utilisez _ColorSetCOLORREF(), pas _ColorSetRGB().
Consultez EM_SETCHARFORMAT dans la librairie MSDN.
#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