Delphi - Stay on top

 
Vista:

Stay on top

Publicado por Michel (2 intervenciones) el 29/04/2004 15:11:13
Saludos:
Tengo un form principal desde el que se abre otro secundario. Necesito que desde este último se abra un tercer form que permanezca por encima de los demás mientras trabajo en el segundo.
La propiedad Stayontop de esta tercera form no responde. ¿Alguien sabe como resolver esto?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Stay on top

Publicado por Cuervo (262 intervenciones) el 29/04/2004 18:12:57
// en caso de que quieras variar el estado del plano de la ventana:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked = true then
FormStyle := fsstayontop
else
FormStyle := fsnormal;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Stay on top

Publicado por Michel (3 intervenciones) el 29/04/2004 18:22:14
Muchas Gracias.
Lo he probado y no funciona. Cuando abro el tercer form e intento trabajar en el segundo, el tercero se queda por debajo.
¿No conoce otra forma?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Stay on top

Publicado por El Pelotas (40 intervenciones) el 29/04/2004 22:36:01
Yo tengo el mismo problema.
Tengo 6 usuarios de un programa y sólo a uno le falla eso de stay on top. (¿no será cuestión de microsoft windows?).
Si encuentras la solución por favor te agradeceré mucho que me la comuniques.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra manera

Publicado por Cuervo (262 intervenciones) el 29/04/2004 23:38:33
SetWindowPos(handle, hwnd_topmost,0,0,0,0, swp_nomove or swp_nosize)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra manera

Publicado por Michel (3 intervenciones) el 30/04/2004 11:31:24
¿Donde pongo ese código? Soy un poco novato y no tengo claro donde asignar esta operación.
Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra manera

Publicado por Elena (330 intervenciones) el 30/04/2004 15:53:35
Para que esto te funcione bien debes utilizar MDIForms, en el Project/Options debes poner que las formas no se autocreen, a excepción del form principal, o sea mueve todas las formas hacia available forms, menos la principal.
Tienes que ponerle la propiedad FormStyle fsMdiForm a la principal y fsMdiChild a las demás, Position MainFormCenter, BorderStyle Single.
Ya para invocar las demás formas, haces esto
Application.CreateForm(TNombreForm, NombreForm);
NombreForm.Show;

Y la que deseas que sea StayOnTop, le pones fsStayOnTop en el FormStyle, espero que te sirva.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra manera

Publicado por Michel (6 intervenciones) el 30/04/2004 16:14:09
Gracias Elena,
pero el problema es que las ventanas no puedes ser Child de la principal, ya que son pequeñas ventanas informativas sobre un form principal. Muchas gracias de todas formas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:otra manera

Publicado por Franc Barrientos (1 intervención) el 11/03/2013 15:15:13
Solo debes colocar algo asi, donde Form3 es el tercero:

Form3->ShowModal(); // esto en c++builder

creo que en Delphi es:

Form3.ShowModal();
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar