Ver Mensaje Individual
  #3  
Antiguo 30-05-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.437
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita