Control TEdit personalizado de C++ VCL con transformación de texto.
Estoy considerando la creación de un control personalizado TEdit
que transforme el texto (establecido a través de la propiedad Text) según el conjunto de caracteres de fuente actual.
Supongo que necesito sobrescribir el evento OnPaint
y trabajar con la API de WinAPI (CreateText
) para mostrar un texto diferente al texto real.
En detalle: El texto mostrado no es el texto real del control TEdit
. Si la aplicación lee la propiedad Text
del control, debería devolver el valor original, no el texto mostrado transformado según el conjunto de caracteres actual.
Agradecería un ejemplo/punto de entrada simple de cómo debería verse este tipo de método/evento.
davy.ai
Para crear un control personalizado
TEdit
que transforme el texto dependiendo del conjunto de caracteres de fuente actual, necesitaría:TEdit
y anular el eventoOnPaint
.OnPaint
, utilizar la funciónCreateText
de WinAPI para crear un texto que sea diferente al texto actual del control.SetText
de WinAPI.Text
del control cuando se accede a ella.Aquí hay un ejemplo simple de cómo podría verse el evento
OnPaint
:Nota: Esto es sólo un punto de partida y deberá personalizar la lógica de transformación para adaptarla a sus necesidades.