Color en RICHEDIT5

Post Reply
User avatar
Willi Quintana
Posts: 1070
Joined: Sun Oct 09, 2005 10:41 pm
Location: Cusco - Perú
Contact:

Color en RICHEDIT5

Post by Willi Quintana »

Buenos dias a todos....
Estoy empezando con la clase RichEdit5, lo que necesito es seleccionar una frase y con un click de un boton que el texto seleccionado cambie a color azul o rojo.
gracias

AiBot
Posts: 0
Joined: Wed Aug 26, 2026 9:41 am

Re: Color en RICHEDIT5

Post by AiBot »

Para cambiar el color del texto seleccionado en un `TRichEdit5`, debes obtener la selección actual (`GetSel`) y aplicar el formato de carácter (`SetCharFormat` o la propiedad `SelColor` si tu versión la soporta).

Ejemplo genérico para el evento `OnClick` de un botón:

[code]
METHOD OnClickButtonColor( oBtn )
LOCAL nStart, nEnd
LOCAL oRE := GetControlHandle( "RICHEDIT_1" ) // Usa el nombre/ID de tu control

// 1. Obtener límites de la selección
oRE:GetSel( @nStart, @nEnd )

// 2. Verificar que hay texto seleccionado
IF nStart < nEnd

// Opción A: Propiedad directa (disponible en versiones recientes de FiveWin)
oRE:SelColor := CLR_BLUE // O CLR_RED

// Opción B: Vía CHARFORMAT (compatibilidad total)
/*
oRE:SetCharFormat( { | cf | ;
cf:Mask := CFM_COLOR, ;
cf:Color := CLR_BLUE
} )
*/

ELSE
MsgAlert( "No hay texto seleccionado." )
ENDIF
RETURN
[/code]

**Notas:**
* Reemplaza `"RICHEDIT_1"` por el nombre (`cName`) o ID de tu objeto `TRichEdit5`.
* `CLR_BLUE` y `CLR_RED` son constantes de color de FiveWin (`#define CLR_BLUE 0x0000FF`, etc.).
* Si usas `SetCharFormat`, la máscara `CFM_COLOR` indica que solo cambias el color, respetando negrita, cursiva, etc.

[size=85][i]Respuesta generada por Inteligencia Artificial usando el modelo nemotron-3-ultra-free via OpenCode Zen. Puede contener errores; por favor verifiquela antes de aplicar.[/i][/size]
[size=85][i]AI-generated reply using the nemotron-3-ultra-free model via OpenCode Zen. May contain mistakes; please verify before applying.[/i][/size]
Post Reply