FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Por que OnKeyPreview del form no impacta en el de los componentes
Resulta que estoy haciendo una aplicación donde la telca '+' tiene un comportamiento especial, (incrementar un spinedit) pero no funciona correctamente.
Puse keypreview en true con el foco en un TEdit, pulso '+' En el FormKeyDown consulto por la tecla pulsada, si es un '+' le asigno 0 (para que no se procese en el TEdit) y sin embargo sale un + en el TEdit! a pesar que estoy diciendo Key = 0; Qué podrá ser? hice una mini aplicación de ejemplo... Gracias
Última edición por PabloZZZ fecha: 25-03-2008 a las 19:18:46. |
#2
|
||||
|
||||
Tienes que poner tu código en el evento OnKeyDown del TEdit. No basta en este caso ponerlo en el Form a pesar de tener en OnKeyPreview a True.
El evento que gestiona las pulsaciones y contenido del TEdit es el evento OnKeyDown del propio TEdit.
__________________
Piensa siempre en positivo ! |
#3
|
|||
|
|||
Pero no puedo estar poniendo la condición en cada TEdit.. para eso puse la condición en el OnKeyDown del form! para que sea global.. teoricamente.. se procesa antes que todos los demás componentes.. no?
|
#4
|
||||
|
||||
Se procesa antes el evento OnKeyDown del Form que el del TEdit. Correcto.
Pero creo estar casi seguro que no causa ningún efecto poner Key := 0 en el evento del Form, sino que lo tienes que poner en el evento del TEdit para que si que cause efecto el Key := 0. El evento OnKeyDown del Form sirve para 'detectar' pulsaciones del teclado en el Form antes que en los Controles individuales.
__________________
Piensa siempre en positivo ! |
#5
|
||||
|
||||
puedes crear un componente derivado del TEdit, que tenga ese comportamiento y no tienes que programarlo en cada uno
__________________
...Yo naci en esta ribera del arauca vibr@d0r Soy hermano de la espuma, de la garza, de la rosa y del sol... Viva Venezuela |
#6
|
|||
|
|||
Cita:
Cita:
Dices que no quieres hacer esto para cada uno de tus Edit's, pues porque crees que Delphi nos hace fácil la vida, genera ese evento en cualquier Edit y después asignalo a todos los demas Edit's. Así de fácil...... Salud OS Edito: Por cierto, trata de colocar un titulo mas descriptivo ya que eso de "Por que" no dice nada.......
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney Última edición por egostar fecha: 25-03-2008 a las 19:11:53. |
#7
|
|||
|
|||
Cita:
Cita:
Z |
#8
|
||||
|
||||
Disculpen...simulacion emergencia de hospital
Hola a todos... necesito realizar una simulacion de la emergencia de un hospital en delphi 7 con los siguientes requerimientos:
(1) Tiempo de llegada de los pacientes. (2) Tiempo de servicio. (3) Tiempo de espera para ser atendidos. (4) Tiempo que dura el paciente siendo atendido.. Quisiera saber si delphi cuenta con funciones que me ayuden en esta tarea (funciones que manejen distribuciones estadisticas)....Gracias por la ayuda.!! |
#9
|
||||
|
||||
Cita:
Al menos yo no conozco que venga, de fábrica, algo elaborado con dichas funcioones... pero muy seguramente encuentres bibliotecas especializadas. Algunas seran pagas, tal vez otras sean gratis, pero de fábrica solo encontrarás algunas funciones básicas. Lo demás deberás hacer a mano. No te sabría decir un sitio que ofrezca dichas bibliotecas, pero para manejar colas Delphi ya cuenta con los objetos necesarios: TQueque, TStack, etc.. si das una leída a la ayuda de Delphi notarás que ya vienen los objetos que implementan estos tipos abstractos de datos, lo demás será darle "cuerpo". Por cierto, tu duda está fuera de tema, no pertenece al hilo deberías haber iniciado un hilo exclusivo para esto, por favor respeta la guia de estilo. Saludos, |
#10
|
|||
|
|||
Disculpen, pero algo de razón tenia....
En vez de hacer Form.OnKeyDown, le puse la condición en Form.FormKeyPress y funcionó! Saludos Z |
#11
|
||||
|
||||
Cita:
Lo lógico para hacer una pregunta nueva que no tiene que ver con el hilo actual es crear un nuevo mensaje en el foro correspondiente.
__________________
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|