Obtient la couleur de fond du texte sélectionné ou, à défaut de sélection, du caractère à la droite du point d'insertion
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetCharBkColor ( $hWnd )
$hWnd | Handle du contrôle |
Succès: | Retourne une valeur COLORREF et @extended est défini à 1 si la couleur est la même dans toute la sélection. |
Échec: | Définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle |
Si vous avez besoin de créer un tableau de couleur, utilisez _ColorGetCOLORREF() et pas _ColorGetRGB().
_GUICtrlRichEdit_SetCharBkColor
Consultez EM_GETCHARFORMAT 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, $idBtnNext, $iStep = 0, $iMsg $hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1) $g_hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Ceci est un test.', 10, 10, 400, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60) $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 60, 30) GUISetState(@SW_SHOW) $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_SetCharBkColor($g_hRichEdit, Dec('00FF00')) Report("2. Paramètrage maintenant") Case 3 _GUICtrlRichEdit_SetSel($g_hRichEdit, 1, 5) _GUICtrlRichEdit_SetCharBkColor($g_hRichEdit, Dec('8888FF')) Report("3. Contexte de quelques caractères modifiés") Case 4 ; Sauve le texte dans un fichier sur le bureau de sorte que vous puissiez regarder les paramètres dans Word _GUICtrlRichEdit_StreamToFile($g_hRichEdit, @DesktopDir & "\gcre.rtf") GUICtrlSetState($idBtnNext, $GUI_DISABLE) GUICtrlSetData($g_idLblMsg, "4. Sauvé dans le fichier gcre.rtf sur le bureau ") EndSwitch EndIf $iMsg = GUIGetMsg() WEnd _GUICtrlRichEdit_Destroy($g_hRichEdit) ; Nécessaire si le script se bloque GUIDelete() EndFunc ;==>Example Func Report($sMsg) Local $iColor = _GUICtrlRichEdit_GetCharBkColor($g_hRichEdit) Local $aRet = _ColorGetRGB($iColor) $sMsg &= @CRLF & @CRLF & $aRet[0] & ";" & $aRet[1] & ";" & $aRet[2] & " BkColor=0x" & Hex ($iColor) GUICtrlSetData($g_idLblMsg, $sMsg) EndFunc ;==>Report