PDA

Ver la Versión Completa : Como hacer always on top de un form


osvrom
29-04-2004, 19:35:58
Bueno eso, como hago para hacer que un formulario esté siempre en primer plano (always on top).

Espero sus consejos

Osvaldo

roman
29-04-2004, 19:53:25
¿Te late algo como FormStyle := fsAlwaysOnTop?

// Saludos

delphi.com.ar
29-04-2004, 19:57:43
FormStyle := fsStayOnTop!

osvrom
29-04-2004, 20:29:57
Gracias no se que haría sin vos :p , de paso otra pregunta.
Cómo haga para saber si un formulario está creado o no,

algo así como:
if Form1.created<>null then ...

roman
29-04-2004, 20:34:23
de paso otra pregunta

Otra pregunta, otro hilo.

// Saludos

jachguate
29-04-2004, 21:19:24
de hecho, en este caso, no cabe la otra pregunta, yo diria: una busqueda en los foros, pues el tema se ha tratado en multiples ocasiones.

Hasta luego.

;)

osvrom
29-04-2004, 22:54:12
Tengo un problema cuando hay otro form. les paso a explicar en forma reducida:
creo un form
pongo fsstayontop, todo bien, funciona siempre always on top,
ahora lo pongo normal a este (fsnormal)
creo un form2
coloco a form2 a fsstayontop
pongo un boton desde el form1 para llamar a form 2
y este ya no es always on top (por form2 me refiero con form1 atrás)

ahora pongo tambien a form1 always on top y sólo cuando se muestra unicamente el form1 este funciona always on top, cuando lo muestro a form2 (que tambien lo es) ya ninguno de los dos se encuentran siempre en primer plano. :confused: :mad:

Alguna recomendación? Lo que necesito es que el form2 esté siempre en primer plano cuando se lo llame.

Gracias por sus anteriores respuestas :cool:

jachguate
29-04-2004, 23:03:01
:confused:

No entendi nada...

todos estos cambios de estilo los haces en diseño o en runtime?? no tengo idea de quien es form1, quien es form2 y que comportamiento se espera de ellos... antes de responder, mejor leete este hilo. Hasta luego.

;)

osvrom
29-04-2004, 23:17:05
Mira si no me entendiste es que seguro no leiste mi primer pregunta y las dos respuesta que recibí.
Los cambios los hago en diseño y el resultado los pruebo obviamente en runtime.
form1 y form2 son explicitamente formularios simples y comunes de delphi (creo que eso es bastante entendible)
y el comportamiento esperado está explicado en mi primer pregunta.

Ahora me entendes????

Paso a describir nuevamente lo que necesito::
Es básicamente un formulario que esté siempre en primer plano, lo que surgió ahora es que tiene que ser llamado desde un primer formulario y este segundo formulario llamado no queda de esa forma, aún estando ambos formularios con la propiedad:
FormStyle := fsStayOnTop!
que me fue recordada por roman y delphi.com.ar

roman
29-04-2004, 23:23:33
Mira si no me entendiste es que seguro no leiste mi primer pregunta y las dos respuesta que recibí.
Los cambios los hago en diseño y el resultado los pruebo obviamente en runtime.
form1 y form2 son explicitamente formularios simples y comunes de delphi (creo que eso es bastante entendible)
y el comportamiento esperado está explicado en mi primer pregunta.

Ahora me entendes????


Medita por favor un poco antes de dar una respuesta "con el hígado". Te aseguro que el compañero jachguate leyó perfectamente todo el hilo. Tampoco para mí queda clara tu pregunta. Una frase como


por form2 me refiero con form1 atrás


es absolutamente inentendible. Creo más saludable que si deseas que alguien responda a tus dudas te tomes el tiempo de redactarlas de forma clara y precisa antes de descalificar a uno de los miembros más destacados del club.

// Saludos

jachguate
29-04-2004, 23:31:11
Mira si no me entendiste es que seguro no leiste mi primer pregunta y las dos respuesta que recibí.
Pues si que las habia leido... pero has de reconocer que la redacción del mensaje que respondí no es muy clara que digamos... :p

Los cambios los hago en diseño y el resultado los pruebo obviamente en runtime.
Nunca cuestione donde probabas los resultados... yo pregunte donde aplicabas los cambios al estilo de los formularios!

form1 y form2 son explicitamente formularios simples y comunes de delphi (creo que eso es bastante entendible)
y el comportamiento esperado está explicado en mi primer pregunta.
Tu primera pregunta dice textualmente:
como hago para hacer que un formulario esté siempre en primer plano
Evidentemente form1 y form2 no son un formulario. Son dos formularios con lo cual, estaras de acuerdo conmigo que la primera pregunta no explica este segundo caso...

Ahora me entendes???? Lo siento, pero todavia no!

Paso a describir nuevamente lo que necesito::
Es básicamente un formulario que esté siempre en primer plano, lo que surgió ahora es que tiene que ser llamado desde un primer formulario y este segundo formulario llamado no queda de esa forma, aún estando ambos formularios con la propiedad:
FormStyle := fsStayOnTop!


Claro que si lo que queres es que un solo formulario este en primer plano, solamente este debe tener su propiedad FormStyle a fsStayOnTop, y no los dos.

Hasta luego.

;)

pd. Me parece que vos si no has leido el hilo que te recomendé... nuevamente te invito a hacerlo.

osvrom
29-04-2004, 23:37:17
Ok, pido disculpas si es que alguien se ofendió con mis palabras por ahi son algo precipitado al escribir.
Mi objetivo no es descalificar a nadie simplemente, entiendo tu postura y la de el, y lo que pretendo conseguir consejos y por ahi darlos con lo poco que sé, y si algo no entiendo o lo repregunto o lo salteo.

Pido discupla che :o , pero igual sigo con mi duda existencial ;)

Saludos
Osvaldo

osvrom
30-04-2004, 00:15:28
GRACIAS sus respuestas me sirvieron mucho, y ya solucioné mi problema y era tan sencillo que me averguenzo un poco :o (pero a veces las cosas más sencillas te hacen perder mucho tiempo y eso me pasó).

Ahora paso a explicar (Espero darme a entender :p )

1. Parto de un projecto vacio y por ende un formulario vacio

2. Creo otro formulario

3. Ambos formularios originalmente con la propiedad
FormStyle=fsNormal

4. [siempre en diseño] pongo un boton para que desde el primer formulario se llame al segundo (último creado) y este código en su evento click
form2.FormStyle:=fsstayontop;
form2.ShowModal;
form2.FormStyle:=fsnormal;
para que en tiempo de ejecución actúe ese cambio de estilo.

5. [en tiempo de ejecución] Funciona correctamente cuando se llama al form2 queda en primer plano, pero OJO, despues de cerrarlo, volverlo al estilo fsnormal porque sino al invocarlo nuevamente el form2 deja de quedar en primer plano al hacer algun cambio de ventanas.

Saludos
Osvaldo :cool: