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 08-03-2021
jdelsol jdelsol is offline
Registrado
 
Registrado: dic 2014
Posts: 5
Poder: 0
jdelsol Va por buen camino
Question Form encima de otro, pero dentro de mi aplicación

Hola a todos

Quiero hacer algo que parece sencillo pero no lo logro como lo quiero, quiero que un formulario siempre se muestre encima de otro, pero solo dentro de mi aplicación... por ejemplo quiero que Form2 siempre se muestre encima de Form1.

No puede ser con la propiedad
Código Delphi [-]
Form2.FormStyle:= fsStayOnTop
porque esto lo hace de forma global y me muestra "Form2" encima de todas las aplicaciones abiertas
Tampoco quiero que sea así
Código Delphi [-]
Form2.Parent:= Form1;
porque necesito que las ventanas sean independientes.

Espero que haya alguna forma sencilla de hacerlo y que me puedan ayudar

Un saludo y gracias de antemano
Responder Con Cita
  #2  
Antiguo 08-03-2021
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Buenas.


Investiga la función SetWindowPos. Yo la uso con estos parámetros para mantener un formulario al fondo de todos los de la aplicación


Código Delphi [-]
  SetWindowPos(Handle, GetBackForm(self).Handle, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);


y estoy seguro de que cambiando algún parámetro podrás mantenerlo al frente.


Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 10-03-2021
jdelsol jdelsol is offline
Registrado
 
Registrado: dic 2014
Posts: 5
Poder: 0
jdelsol Va por buen camino
Muchísimas gracias amigo newtron ,

Con la función SetWindowPos he logrado lo que quiero de la siguiente manera

Código Delphi [-]
SetWindowPos(Form2.Handle, Form1.Handle, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);

Con esta función logro traer el Form2 al frente de forma temporal ya que si hay alguna interacción en Form1, Form2 vuelve al fondo. Para que esto no pase hago la llamada a SetWindowPos desde el evento OnMouseDowm del Form1.

Este solución no es la que mas me gusta ya que genera un pequeño parpadeo en Form2 pero a menos he resuelto por el momento.

Si existiese otra forma y la pudieran compartir estaría muy agradecido

Saludos
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
Enviar cordenadas del mouse dentro del form a otro form look OOP 7 30-12-2013 16:58:22
Form contenedor dentro de otro form. vpepen Varios 7 14-04-2011 00:12:30
Form dentro de otro Malparo Varios 8 12-01-2011 13:49:38
Menu en form dentro de otro kdemia Varios 10 10-08-2010 05:59:54
Un form dentro de otro Ubed Gráficos 7 01-11-2007 20:07:06


La franja horaria es GMT +2. Ahora son las 22:34:50.


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