Cita:
|
Empezado por AGAG4
...y aparte daba doble salto cuando presionaba el TAB
|
Es normal, un salto te lo hace el inherited, y otro salto te lo hace el llamar al evento OnKeyDown con el TAB

.
Cita:
|
Empezado por AGAG4
...por lo que le quite esta instrucción > inherited; y me funcionó perfectamente
|
Creo que deberías quitar la otra en lugar de la del inherited.
Cita:
|
Empezado por AGAG4
una última pregunta cual es la función de esa instrucción????
|
Para entender la función de ésta instrucción hay que entender primero lo que hemos hecho.
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
