|
Si quieres hacer un componente que derive de TMemo, no creo que te sea muy complicado.
TMemo deriva de TCustomMemo y este a su vez de TCustomEdit.
Llegados a TCustomedit tienes varias opciones.
(a) Aquí aparece un método Change que posiblemente puedeas sobreescribir para capturar los cambios.
procedure Change; dynamic;
(b) También aparece el mensaje CM_TEXTCHANGED que podrás capturar y también tiene pinta de "saltar" cuando cambia el texto.
procedure CMTextChanged(var Message: TMessage); message CM_TEXTCHANGED;
(c) Aun queda por ahí una función llamada DoSetMaxLength; Esta no seque hace y es la primera vez que la veo, pero podrías investigar a ver qué hace, por que también tiene "buena pinta"
procedure DoSetMaxLength(Value: Integer); virtual;
(d) Por último está el evento OnChange que puedes capturar y redirigir, aunquie este sistema no te lo aconsejo salvo que no exista otro remedio.
Ten en cuenta cuando se escribe un texto, cuando se pega uno desde el portapapeles y cuando se asignan las propiedades Text/Lines (Add, AddStrings) por código para asegurarte de que funciona.
|