Activar Form

MI problema es que quiero activar un form cada cierto tiempo, que el foco se vaya a un edit1. Me explico mejor: Si está abierto Word por ejemplo que pasados 10 minutos se active la ventana del programa hecho en Delphi. Se que es con un Timer, no necesito que solo se vea el form sino que se active. Pienso que se podría usar OnActivate pero no se como usarlo he estado probando muchas maneras.

1 respuesta

Respuesta
1
Esta es una manera de hacer lo que deseas, coloca la propiedad formstyle en tu forma principal con el valor fsMDIForm, coloca un componente TTimer, asígnale a la propiedad interval el valor de 100000 (un minuto), agrega a tu proyecto una segunda forma, coloca su propiedad formstyle como fsMDIChild y coloca dentro de ella el componente TEdit que deseas, adiciona un componente botón (este te servirá para cerrar la forma una vez creada). Selecciona la opción Options del menú Project, en la pestaña Forms, mueve del lado izquierdo hacia el lado derecho la Form2, finalmente da click en el botón Ok.
En el evento OnTimer de tu componente TTimer coloca el siguiente código:
Form2:=TForm2.Create(self);
Form2.Show;
Coloca los siguiente códigos en los eventos correspondientes de la Form2:
Evento OnActive :
     Edit1.SetFocus;
Evento OnClick del botón:
     Close;
Evento OnClose:
     action:=cafree;
Esto funciona, yo lo probé.
Hola que tal roberboy, muchas gracias por contestar.
Lo que tú me indicaste funciona pero sólo en un form MDI, lo que necesito es lo siguiente:
Corro el programa, espera 1 minuto y se activa la ventana del programa, si doy clic en Word y estoy trabajando en word al pasar 1 minuto la ventana se vuelve a activar y el edit recupera el foco. Que pase así no importa el programa que tenga abierto, que al fin y al cabo la ventana del form siempre se vuelva a activar y el edit recupera el foco.
Lo que tu me indicaste anteriormente me ayudó mucho más tengo este pequeño problema. Muchas gracias por tu atención y ayuda. Dios te bendiga.
Yo creo que debes levantar un servicio desarrollado con Delphi, utilizar el API de Windows para verificar la existencia de tu aplicacitivo o form y así poder maximizarla nuevamente.
Dejame intentar hacerlo y espero pronto poder apoyarte con una respuesta concreta.
Ya lo logré. Solo ocupé ésto en el Timer-
SetForegroundWindow(MyMainForm.Handle);
Gracias a Chris del club delphi y a Ti.
Bendiciones.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas