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-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Impedir que un Form reciba Foco

Hola a todos !

Como puedo impedir que un Form reciba el Foco ?

Estoy mandando correos electrónicos mediante un TThread, y el proceso lo muestro en un Form creado para tal efecto (me he decidido por esta opción de un nuevo Form para mostrar el proceso).

Lo que quiero es impedir que el usuario pueda hacer click con el ratón sobre dicho form y que por lo tanto adquiera foco, e incluso impedir que adquiera el foco mediante cualquier combinación de teclas.

Gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 15-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

La pregunta es: pa' qué, o sea, qué sentido tiene que el formulario no pueda recibir el foco del usuario.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 15-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Al ser una ventana que muestra un proceso de envío de correo electrónico, no quiero que el usuario pueda hacer click encima y que dicha ventana reciba foco, con la evidente correspondiente pérdida de foco en el form que me encuentre trabajando (editando, o lo que sea).

Para ir más al detalle de la problemática, el Form creado para mostrar el proceso de envío, es un form NO modal, claro está. Si fuera modal no podría seguir trabajando en otros formularios.

Al tener otros formularios modales, si este form de proceso recibiera foco, y a su vez paso de mi aplicación a otra aplicación de windows cualquiera, al volver puede ocurrir que el form Modal en el cual estaba, quede detrás de todos los demás.

Para evitarme este, y otros casos diversos que creo no necesarios comentar ahora aqui, lo que intento es que precisamente ese form que muestra el proceso no pueda adquirir foco. Además en él se muestra sólo una barra de progreso propia y algunas indicaciones en forma de Labels.

Por lo tanto, desde el punto lógico y operativo también se podría argumentar que dicho form de progreso no pueda adquirir foco.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #4  
Antiguo 15-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
¿Y para esto no esta la propiedad Enabled del form?

Cita:
Empezado por Ayuda de Delphi
Use Enabled to change the availability of the control to the user. To disable a control, set Enabled to false. Disabled controls appear dimmed. If Enabled is false, the control ignores mouse, keyboard, and timer events.

To re-enable a control, set Enabled to true. The control is no longer dimmed, and the user can use the control
Responder Con Cita
  #5  
Antiguo 15-05-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Y como no un poco de codigo
Código Delphi [-]
  // Ponemos la propiedad Enabled del segundo form a false
  form2.Enabled:= FALSE;
  // Mostramos el segundo form
  form2.show;
  // Ponemos el primer form por encima
  form1.show;


  // Para cerrar el segundo form lo haremos por codigo
  form2.Close;
Responder Con Cita
  #6  
Antiguo 15-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino


A ver .... lo voy a probar.

Gracias Domingo.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #7  
Antiguo 15-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Vaya !! Tan simple y tan efectivo. Funciona perfecto.

Es más, el form que utilizo para mostrar el proceso de envío, es un form sin marcos. Por lo que la operación de Enabled := False no le afecta lo más mínimo.

... y mira que andaba buscando ya soluciones imposibles !

Una vez más, muchas gracias.
__________________
Piensa siempre en positivo !
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
Form modal deja que el form llamante tome el foco tata Varios 6 17-05-2006 11:51:37
Form sin Foco TONIAM Varios 4 16-11-2005 22:58:54
Impedir ampliar y minimizar el form de un programa Leomedellin Varios 4 04-04-2005 19:02:54
Form sin foco AndyG OOP 2 01-09-2004 14:46:36
Impedir mover el form y redimensionar al mover barra tareas jealousy API de Windows 0 15-06-2004 12:58:05


La franja horaria es GMT +2. Ahora son las 09:57:08.


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