FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
traer form adelante
ante todo buenas tardes, tengo un pequeño problema, necessito traer mi form adelante de cualquier otra aplicacion (no juegos), mi aplicacion esta minimizada, y al presionar, por ej la tecla "*" traiga el form1 a delante de la aplicacion que se esta ejecutando, todo lo que intente hasta ahora solo hace titilar en la barra de tareas la aplicacion, lo que estoy haciendo es en delphi 7 y sistema OP XP.
desde ya muchas gracias |
#2
|
||||
|
||||
Si te estoy entendiendo bien, lo que necesitas es tan solo poner la propiedad FormStyle=fsStayOnTop de tu formulario, ésto hará que tu formulario simpre esté por sobre cualquier aplicacion, parecido a la ventana del "Administrador de tareas de Windows"
Ahora si tan solo quieres solamente que tu formulario tenga el "focus" y se venga hacia adelante pues tan solo puedes Hacer ésto:
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Última edición por rgstuamigo fecha: 13-07-2010 a las 22:15:21. |
#3
|
|||
|
|||
no me resulta en delphi 7 y SO XP, solo titila en la barra de tareas, lo que necesito es tape cualquier otro prog. en ejecucion (ojo no juegos), pero te agradezco lo rapido de la respuesta
hugo |
#4
|
||||
|
||||
No me había dado cuenta que si tu formulario está minimizado, pues no creo que te funcione ya que al minimizar el formulario ,éste pierde el foco. y creo que por ahí va la cosa..
Supongo que en ese caso deberías usar un Hook(gancho) para detectar la combinacion de teclas que pulsas.. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#5
|
|||
|
|||
desde ya mas que agradecido por tus prontas respuestas (no se hasta que hora me quedare hoy con esto, lo tengo que tener para mañana), pero te comento, tengo ttimer en la aplicacion, en el evento
if GetAsyncKeyState( Ord( '8' ) ) = -32767 then begin form1.formStyle := fsStayOnTop end; (en este caso la tecla 8) Pero no logro en ningun caso que la aplicacion pase a primer plano y tenga el foco, (ni siquiera logro que pase a primer plano), lo mas que logro es que la aplicacion en la barra de tareas titile.- hugo |
#7
|
|||
|
|||
if (GetAsyncKeyState( Ord( '8' ) ) and $8000)<>0 then
Form1.FormStyle := fsStayOnTop; lamentablemente no funciono, pero desde ya muchas gracias por sus prontas respuestas |
#8
|
||||
|
||||
No se como lo estás usando, pero si funciona.
Ten en cuenta de que para que se detecte la pulsación de la tecla, se debe ejecutar al API GetAsyncKeyState. Ésta detecta la última cecla pulsada desde la última ejecución. Una forma fácil de implementarlo es en un Timer con un intervalo de 100ms, por ejemplo. Código Delphi [-]procedure TForm1.Timer1Timer(Sender: TObject); begin if (GetAsyncKeyState( Ord( '8' ) ) and $8000)<>0 then Form1.FormStyle := fsStayOnTop; end; Saludos. |
#9
|
|||
|
|||
escafandra, mil disculpas, si funciona, con el ejemplo que me pasaste funciona correctamente, cuando lo probe antes de tu respuesta lo hice mal (tapado de trabajo), al correjirme funciona perfecto, desde ya muchas gracias, abusando de tu amabilidad y sapiensa, como detecto la tecla + del teclado numerico, ya que es el unico teclado que tendra el sistemaa implementar, desde ya gracias a todos y disculpen mi error
hugo |
#11
|
|||
|
|||
muchas gracias
hugo |
#12
|
||||
|
||||
Si te interesa, tienes otra forma de realizar lo mismo pero no usando la API GetAsyncKeyState ni, por tanto, un Timer. Se trata de registrar un HotKey y asociarle un evento:
Tu dirás cual método te conviene mejor. Saludos. |
#13
|
||||
|
||||
ummm...
Es buena práctica quitar el registro de esa tecla con UnregisterHotkey en el formClose de la ventana
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#14
|
|||
|
|||
desde ya muchas gracias, y la verdad mas que atentos todos
hugo |
#15
|
|||
|
|||
Y otra vez yo Lepe....
Estoy buscando algo parecido. El tema es que el minimize en Win7 no siempre funciona y se pierde la aplicación, se ve el icono en la barra de tareas, pero inaccesible y desaparece de la lista del administrador de tareas, se ve en la solapa servicios, pero ho hay forma de restaurar. Con lo cual hay que finalizar la aplicación y reiniciarla. Saludos y gracias de antemano! Walter |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
traer al frente un form no modal (de entre varios), utilizando el valor en el caption | jcapitan | OOP | 2 | 23-05-2007 02:33:43 |
Un nuevo paso adelante en la tecnología de fabricación de transistores | Sasuke_Cub | Noticias | 12 | 13-02-2007 18:17:31 |
Adelante y Atrás en IE o cualquier Navegador | Capo | Internet | 3 | 21-07-2006 15:16:04 |
Manuales de delphi 6 en adelante y software. | zugazua2001 | Varios | 0 | 27-05-2005 15:39:52 |
Adelante y Atrás en WebBrowser | Niko | Internet | 1 | 20-11-2004 02:40:48 |
|