FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Cachar Tabulador
Como cachar el Tabulador al momento de presionarlo, en un Edit, bdEdit, MaskEdit y dbGrid????
Ya había lanzado esta pregunta, pero en donde me explicaron tengo que crear un Componente Nuevo por cada uno de los que necesito, aparte cuando lo instalo no me explican como cacharlo, solo me explican donde se cachan al momento de heredar los controles de un Edit y enviar un mensaje, por lo que ya le busque en que propiedad pudiera cacharlo pero no lo encuentro. Cualquier ayuda se los agradezco mucho. |
#2
|
||||
|
||||
Cita:
A ver si ésto te sirve mejor. En el form donde tienes los controles, define en la parte privada ésto:
Y en la implementación ésto:
__________________
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. |
#3
|
||||
|
||||
oki
Voy hacer pruebas Sr. Neftali.. Gracias....!!!!
|
#4
|
||||
|
||||
oki
Sr. Neftali, si me funcionó, pero, como mando llamar un Evento dentro del procedimiento para cachar el TAB????, ó bien llamar sólo el evento ONKEYDOWN al presionar el TAB dentro del mismo Procedimiento.
|
#5
|
||||
|
||||
La rutina de un evento no deja de ser un procedimiento más, así que puedes llamarlo como cualquier otro (nombre del evento y parámetros).
¿Es eso a lo que te refieres? o tal vez no he entendido la pregunta.
El ejemplo concreto para llamar al KeyDown sería así:
__________________
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. |
#6
|
||||
|
||||
oki
Ya lo probe Sr. Neftali, llamó al evento asi como me comenta arriba, y me marca un error al pasar por esta línea>
Código:
Self.OnKeyDown(Self, _key, []); "Project PFAC.exe raised exception class EAccessViolation with message 'Acess Violation at adress 0000' " |
#7
|
||||
|
||||
oki
Ya me funciono, lo que paso es que no le puse bien el nombre del OnkeyDown y aparte daba doble salto cuando presionaba el TAB, por lo que le quite esta instrucción > inherited; y me funcionó perfectamente, una última pregunta cual es la función de esa instrucción????
|
#8
|
||||
|
||||
Cita:
Cita:
Cita:
Al redefinir el método CMDialogKey lo que hacemos es decirle a Delphi que ejecute "nuestro código" en lugar del código que tenía programado. Eso es peligroso, porque el componente deja de hacer cosas que tenía programadas. Lo correcto es que podamos decirle que antes o después de lo que el componente tenía programado se ejecute lo nuestro. Para ello utilizamos la instrucción inherited. Cuando ponemos:
le estamos diciendo que primero haga lo que ya hacía antes y luego haga lo que nosotros queremos. La otra opción es hacerlo en orden contrario o intercalado entre nuestro código:
Es importante que no quitemos el inherited a no ser que estemos seguros de que lo que hacía el componente antes no nos interesa en otro caso no se debe eliminar. Espero haberme explicado decentemente
__________________
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. |
#9
|
||||
|
||||
Gracias
Muchas Gracias Sr. Neftali, le debo otra, me funcionó Perfectamente.
|
|
|
|