Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-04-2010
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
Anular la tecla ESC

Hola a todos .. perdon si el tema ya fue referenciado . .pero tengo problemas con la busqueda ( no puedo buscar por mas de una palabra porque me lo toma todo como una unica expresion y me trae 11 paginas de resultados.. viejo hilo nunca resuelto ) y no logro encontrar nada de lo que busco..

Lo que quiero lograr es eso .. que el usuario no logre salir del form presionando ESC .. Tengo un componente KeysOnFoms que tiene una propiedad CloseOnEscape (false por defecto..) pero en true o false .. el ESC
me saca igualmente del form.. quizas lo este utilizando mal .. o ...

Alguna otra opcion ?
sds y gracias
Responder Con Cita
  #2  
Antiguo 15-04-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola ingel, al presionar la tecla ESC no te cierra el formulario a no ser que tu lo hayas programado así. Para anular la tecla ESC debes colocar la propiedad KeyPreview del formulario a True y en el evento OnKeyPress esto:

Código Delphi [-]
 if key = #27 then
   key := #0;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #3  
Antiguo 15-04-2010
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
no me funciono

Hola Caro.. gracias por tu ayuda ...

Hice lo que me indicaste .. pero sigue saliendo con ESC ....

y lo raro es que no pasa nunca por el evento OnkeyPress ...

Cree un form nuevo vacio solo con un boton de salir y lo llamo desde el menu ... (por las dudas que en el que lo quiero hacer tuviera algo 'raro' seteado) e hice lo que me indicaste .. pero sale con ESC ...

Algo que NO hace desde el form del menu principal donde el form si ya tenia seteado el Keypreview en True .. pero nada en el evento onkeypress

me maree .... ...

(Las ventanas son Modales .. por si tiene algo que ver..)

Sds y gracias por tu tiempo
Responder Con Cita
  #4  
Antiguo 15-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿No tienes un botón en el formulario que tenga en true su propiedad Cancel?

// Saludos
Responder Con Cita
  #5  
Antiguo 15-04-2010
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
Nop Roman ..

En el form nuevo que cree con solamente un boton esta en False ..
y en el form que lo quiero implementar tambien todos los botones tienen el Cancel en False...

en el Main tengo este codigo para cambiar Tab x Enter ... podra afectar ??

Código:
    if Msg.Message = WM_KEYDOWN then begin
       if Msg.wParam = VK_RETURN then begin {cambio el enter por tab}
           Control_Actual:= Screen.ActiveControl;
           if (Control_actual is TDBMemo) or (Control_actual is TRxRichEdit) then exit;

           if (Control_actual is TEdit) or (Control_actual is TMaskEdit) or
                 (Control_actual is TFloatEdit) or (Control_actual is TDateTimePicker) or (Control_actual is TCustomEdit)
                   or (Control_actual is TCombobox) then Msg.wParam:=VK_TAB;
       end
       else if Msg.wParam = VK_DECIMAL then Msg.wParam:=188
            else if Msg.wParam = VK_ESCAPE then TForm(Screen.ActiveForm).ModalResult:=mrcancel;{Close;}
    end;


Sds y Gracias ....
Responder Con Cita
  #6  
Antiguo 15-04-2010
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Y, ¿dónde tienes ese código? Porque claramente le estás diciendo que cierre el formulario activo con la tecla ESC:

Código Delphi [-]
else if Msg.wParam = VK_ESCAPE then TForm(Screen.ActiveForm).ModalResult:=mrcancel;{Close;}

// Saludos
Responder Con Cita
  #7  
Antiguo 15-04-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Smile

Sobre el tema de la tecla Esc no puedo aportar mucho más que lo que ya se ha comentado. Quizás preguntarte la versión de Delphi que usas...

Con relación a los problemas que tienes con las búsquedas, comentarte que en este enlace se trata el tema y se ofrecen 2 soluciones bastante buenas:

1- En Google, hacer una búsqueda así:
palabra1 palabra2 palabra3 site:www.clubdelphi.com

2- Un buscador especializado en Delphi. En este enlace.

Espero te sirva, salu2.

Ramón
Responder Con Cita
  #8  
Antiguo 15-04-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Y, ¿dónde tienes ese código? Porque claramente le estás diciendo que cierre el formulario activo con la tecla ESC:


Código Delphi [-]
else if Msg.wParam = VK_ESCAPE then TForm(Screen.ActiveForm).ModalResult:=mrcancel;{Close;}






// Saludos
Opino lo mismo .

Ingel comenta el ultimo else y prueba de nuevo, quitando esa ultima línea no necesitas el codigo para anular el ESC para que no te cierre tu formulario.

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 15-04-2010
ingel ingel is offline
Miembro
 
Registrado: jun 2003
Posts: 239
Poder: 21
ingel Va por buen camino
Gracias a Ambos ... GENIOS !!

Ese codigo no era mio .. lo herede del programador original ... y la verdad no lo habia tenido en cuenta hasta recien ... asi que muchas gracias !! ...

(Ahora reviso los link sobre la busqueda Caro .. gracias !)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
saber que tecla se presiona despues de X tecla amadis OOP 9 04-01-2008 13:16:35
Quisiera Anular la Tecla Windows... DarkDrakon API de Windows 1 02-06-2005 01:43:04
Anular el teclado DarkDrakon API de Windows 1 02-06-2005 01:13:35
Tecla PetSis y tecla Inter Tomás Windows 0 24-04-2004 14:20:19
anular la tecla escape ronson Varios 1 26-02-2004 20:03:32


La franja horaria es GMT +2. Ahora son las 14:19:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi