Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Memo con número máximo de líneas (https://www.clubdelphi.com/foros/showthread.php?t=44163)

tonyluna36 30-05-2007 10:27:25

Memo con número máximo de líneas
 
Hola.

Creo que este tema se ha tocado algo, pero lo que he visto por el foro, a mi no me vale.

¿ Alguien conoce algún componente que restringa el número máximo de líneas de un memo, richedit o alguno parecido ?.

También las ideas para crear un componente serán bienvenidas.

Gracias
Salu2.

dec 30-05-2007 10:41:40

Hola,

Cita:

Creo que este tema se ha tocado algo, pero lo que he visto por el foro, a mi no me vale.
Sin decir qué has visto concretamente... poco más puede añadirse.

Cita:

¿ Alguien conoce algún componente que restringa el número máximo de líneas de un memo, richedit o alguno parecido ?.
Creo que podrías hacerlo con esos mismos componentes. Usa el evento "OnChange"... por ejemplo, de modo que no permitas ingresar más texto (o líneas) que las que te sean menester. Tal vez te interese utilizar un "TListBox" también. Pero dependerá de qué sea menester, claro está.

Neftali [Germán.Estévez] 30-05-2007 10:59:32

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.

karlaoax 30-05-2007 16:32:37

Cita:

Empezado por tonyluna36
¿ Alguien conoce algún componente que restringa el número máximo de líneas de un memo, richedit o alguno parecido ?.

Pues de mi parte no conozco alguno, pero yo utilizo la propiedad Llamada MAXLENGHT de los componentes, como Edits, RichEdits',Memo's, etc. Es una solucion rapida


La franja horaria es GMT +2. Ahora son las 13:18:40.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi