![]() |
Numero máximo caracteres en un TEdit (maxlength)
Hola
Tengo interés en ver el evento y el código fuente que controla el número máximo de caracteres en un TEdit. He intentado encontrarlo en el Vcl.StdCtrls.pas, he intentado encontrar el evento onkeypress, pensando que es ahí donde se controla, pero no he conseguido esa información. Alguno de vosotros me puede indicar como encontrar ese código. Gracias por vuestra ayuda Un saludo |
si no recuerdo mal algo de eso ley hace años creo recordar que lo que hacia en el OnChange era un lenght al text si este era igual o superior disparaba el OnExit y pasaba al siguiente control, eto fue visto en un componente Edit, no el de Borland, de un tercero, recuerdo que era un componente freeware, pero no recuerdo el nombre del componente.
|
Cita:
De todos modos, me gustaría saber en que fichero fuente se encuentra el código que lo gestiona. Si algun miembro del foro puede indicarme, lo agradecería. Un saludo |
Dentro de tú formulario, pulsa al Ctrl + Click izquierdo del ratón en el TEdit y te llevará directo a la fuente.
Un salduo |
Busca el código fuente de la clase TCustomEdit.
|
Gracias olbeup y Neftali por vuestra ayuda.
Mediante el atajo no he podido llegar a la fuente, pero he mirado el TCustomEdit, en el fuente Vcl.StdCtrls.pas, aunque no he conseguido ver el código donde controla el número máximo de caracteres. Un saludo |
Cita:
Acción que también podes ejecutar desde tu código, por ejemplo: Aunque claro está que es mas simple usar la propiedad MaxLength... Saludos :) |
Gracias por tu ayuda ecfisa
La curiosidad por conocer el código que valida la longitud máxima de un TEdit me surgió porque utilicé un componente derivado de TEdit que sólo permite números y carácter de decimales (TNumEdit), que no valida correctamente el límite definido en la propiedad maxlength. Abusando de tu amabilidad, :confused:si en el TEdit uso la propiedad maxlength ¿en que evento se validaría ésta?, ¿en que en que clase, en que método? ¿se podría ver el código que se utiliza en dicho método?. Un saludo |
Hola jocaro.
Es que no es necesario que se valide, al enviar el mensaje EM_LIMITTEXT con 'n' caracteres a un edit control, el límite queda fijado mientras dura la vida del componente o se altere su valor mediante el envío de otro mensaje. Saludos :) |
La franja horaria es GMT +2. Ahora son las 13:14:03. |
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