![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
|||
|
|||
|
Te propongo una alternativa que cubriría todos los casos.
En el formulario donde tienes el StringGrid, coloca esta declaración:
Esto define una clase derivada de TStringGrid que se llama igual. Al colocarla antes de la declaración del formulario, logras que el StringGrid que ahí tienes, sea ahora de la nueva clase. En dicha nueva clase, lo que hacemos es redefinir el método virtual GetEditLimit. Este método indica cuál es el máximo número de caracteres que acepta una celda del grid. El método original simplemente regresa 0, indicando que no hay límite. Nosotros podemos definirlo para dar distintos valores, según las circunstancias:
Bye |
|
#2
|
|||
|
|||
|
Por cierto, veo que usas el evento KeyPress para convertir a mayúsculas el texto que se escribe. Pero ya entrados en gastos, puedes añadir un método más a la nueva clase:
CreateEditor es el encargado de crear el objeto TEdit que se usa para editar el contenido de una celda. Puedes aprovechar el momento en que se crea para establecer su propiedad CharCase:
Lo del TExInplaceEdit es un truco para poder acceder a la propiedad CharCase del TInplaceEdit, ya que está protegida y no puede usarse directamente. Con esto te ahorras ya todo el evento KeyPress. Bye Última edición por keyboy fecha: 14-02-2008 a las 02:50:53. |
|
#3
|
|||
|
|||
|
muchas gracias por tu tiempo.... pero tengo un problema me tira un error que dice asi:
[Pascal Error] U_NVAOC.pas(17): E2065 Unsatisfied forward or external declaration: 'TStringGrid.GetEditLimit' en la linea de "function GetEditLimit: Integer; override;" en que parte pongo el resto del codigo que me recomendaste?
gracias |
|
#4
|
|||
|
|||
|
Te la pongo más fácil:
Crea una nueva unidad, ExStringGrid.pas, con el siguiente código:
que incluye toda la implementación de la clase derivada. Luego, en tu formulario principal (o donde tengas el StringGrid), incluye la unidad:
El único requisito es que ExStringGrid debe aparecer después de la unidad Grids, de lo contrario no funciona. Bye |
|
#5
|
|||
|
|||
|
gracias keyboy... funciono perfecto, pero ahora surgio otro problema...
justamente no se puede ingresar mas caracteres definidos, ya se tipenando o tratando con copy paste.... pero si es que utilizo otra forma de llenar esta columna si se puede... utilizando este codigo:
Como puedo restringir esto tambien?? De ante mano muchas gracias.... Saludos |
|
#6
|
||||
|
||||
|
Cita:
![]() Si ya se diera el caso que no sabes cómo...
Salu2 ![]() |
|
#7
|
|||
|
|||
|
Hola...
Para eso mejor hazlo como te indique en mi primera respuesta...
Saludos... Edit: Vaya, me ganaron la respuesta xDDDD |
|
#8
|
||||
|
||||
![]() para destacar hay que ser veloz cual rayo!!! o conseguir uno de esos despertadores/avisadores que tienen los moderadores ![]() ![]() |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| recortar imagen | kapullok_2006 | Gráficos | 3 | 12-11-2007 18:39:29 |
| recortar una foto | kapullok_2006 | Gráficos | 1 | 27-03-2007 12:45:25 |
| como recortar caracteres... | alexander66 | Varios | 2 | 17-11-2006 19:06:43 |
| Recortar Imagen | fmtidona | Gráficos | 2 | 26-09-2005 19:18:20 |
| Rectángulo para recortar imagen | JAV | Gráficos | 3 | 05-07-2005 10:08:23 |
|