![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Gracias Bicho y Vtdeleon por sus respuestas en cuanto al enlace que me puso Bicho no lo he logrado hacer esta un poco confuso,
En cuanto al enlace de Vtdeleon el problema es que con cualquier TEdit dentro de esa form hiciera lo mismo, lo que se me ocurrio es hacer una validacion mas a esa condicion con respecto al foco actual de el Tedit; pero no se como validarlo(el foco) el codigo original es: begin if (ActiveControl is TEdit) and (Msg.Charcode = VK_TAB) then begin ShowMessage('TAB key pressed?') ; end; inherited; end; lo que yo he intentado pero me da error dice que es un valor boleano pero intento Edit1.Setfocus= True e igual begin if (ActiveControl is TEdit) and (Edit1.SetFocus) and (Msg.Charcode = VK_TAB) then begin ShowMessage('TAB key pressed?') ; end; inherited; end; No se si me explique bien, y gracias por sus respuestas. ![]() |
|
#2
|
|||
|
|||
|
Usa este evento en el objeto Edit.
Saludos |
|
#3
|
|||
|
|||
|
GRACIAS,
Fijate que funciona pero solo con un TEdit si pongo dos no me funciona en el primero sino que en el segundo TEdit. |
|
#4
|
|||
|
|||
|
Cita:
http://delphi.about.com/cs/adptips20...ltip0702_5.htm Aqui esta el codigo completo con dos Tedit.
Si quieres usar otros objetos, pues tendras que modificar el codigo a tus necesidades. Saludos |
|
#5
|
|||
|
|||
|
Gracias de nuevo por la cooperacion,
fijate que eso ya lo hice el problema es que la accion es para todos los TEdit que tenga la Form y yo quiero una en particular para cada TEdit asi: //// Si presiono Tab en TEdit1 que aga algo fin Si presiono Tab en Tedit2 que haga otra cosa. ///// A mi se me ocurria ponerle una condicion y es con respecto al foco del objeto asi: Si presiono Tab en TEdit y el foco esta en TEdit1 efectua alguna accion fin. El problema es que no se como identificar en que foco esta yo he hecho lo siguiente pero me da error. procedure TForma.CMDialogKey(Var Msg: TWMKEY) ; begin if (ActiveControl is TEdit) and (Edit1.SetFocus) and (Msg.Charcode = VK_TAB) then begin ShowMessage('TAB key pressed?') ; end; inherited; end; De Antemano gracias por vuestra Ayuda |
|
#6
|
||||
|
||||
|
Otra solución más siguiendo el ejemplo de egostar
LLegados a este punto, ahora en los demás TEdits, en su evento KeyUp elige el Edit1Keyup, por tanto todos los Tedits compartiran el mismo evento. Si estas en el edit1, el parámetro Sender será el Edit1, si estas en el Edit32 pues el Sender será el Edit32 ... vamos... el objeto que desencadena el evento. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#7
|
|||
|
|||
|
Yo veo otras dos soluciones a este problema.
La primera es utilizar el evento OnKeyUp de cada Edit y usar el código que quieras para cada uno. La otra es usar el siguiente código.
Espero ayude y si alguien sabe de otra solución mas elegante será bienvenida. Saludos Última edición por egostar fecha: 04-04-2006 a las 16:55:59. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Hacer una pausa fuera del evento OnTimer y sin usar Sleep | DarkByte | Varios | 9 | 28-06-2007 04:08:00 |
| en que evento del dbgrid puedo hacer un operacion matematica . . . | Shidalis | Varios | 13 | 26-08-2005 22:25:06 |
| como hacer que una columna del dbgrid contenga un valor de un TEdit en cada celda | Shidalis | OOP | 2 | 02-08-2005 12:05:35 |
| Pasar el valor de un TEdit dentro de un StringGrid a otro TEdit que está fuera | atirado | Varios | 4 | 11-09-2004 19:13:48 |
| TEdit | RoyTan | Varios | 5 | 26-11-2003 21:12:33 |
|