PDA

Ver la Versión Completa : Mostrar mensaje sobre cualquier ventana


valera
09-05-2005, 16:30:19
Buenos dias programadores del foro, alguien de ustedes sabe si es posible mostrar un mensaje hecho en delphi sobre cualquier ventana abierta, Por ejemplo como los mensajes de los Antivirus, en el momento en que detecta virus
inmediatamente muestra el mensaje, les pregunto porque en el sistema que estoy haciendo, quiero o ¿me gustaría? que el mensaje de mi sistema se visualize sobre cualquier ventanas, en este momento necesito minimizar todas las ventanas abiertas o activas para ver el mensaje. Por su ayuda muchas gracias.

dec
09-05-2005, 17:05:47
Hola,

Prueba a darle a la propiedad "FormStyle" del formulario que muestra el mensaje el valor "fsStayOnTop".

valera
10-05-2005, 15:54:07
Mira Dec hice lo que dijiste y lo hizo pero una vez nada mas y no entiendo cual puede ser el problema. si me puedes ayudar gracias.

Lepe
10-05-2005, 16:29:52
Revisa la ayuda de delphi sobre application.RestoreTopMost y application.NormalizeTopMost;

Puede que necesites hacer esto:

application.RestoreTopMost;
VentanaOnTop.ShowModal;
application.NormalizaTopMost;


Como ves estoy mostrandolo como modal, para que el código se detenga ahí y cuando se cierre, se normalice de nuevo.


Un saludo

engranaje
14-05-2012, 11:44:47
Tengo un problemilla con normalizetopmost y restoretopmost que no tengo muy claro. Se trata de una aplicación desarrollada en delphi 5 que funcionó correctamente durante algunos años y poco algunas ventanas empezaron a salir por debajo de las que las llamaban, como si el normalizetopmost no funcionara. Finalmente llegué e a la conclusión de que a partir de instalar un versión de internet explorer 8 o superior en un windows XP empiezan estos funcionamientos extraños. He conseguido "solucionarlo" cambiando del formstyle del formulario que queda por encima y deberia quedar debajo a fsnormal antes del normalizetopmost y devolviendolo a fsstayontop depues del restoretopmost según el ejemplo de abajo:

TQuery(Dataset).ApplyUpdates;
Paginas.ActivePage := Tab_Lista;
if (rb_imprimir.Checked) Then
begin
FormStyle :=fsNormal;
Imprimir_Recibo;
FormStyle :=fsStayOnTop;
end;


siendo imprimir recibo no mucho mas que esto:


With TF_QrReciboWin.Create(application,Q_Rejilla,Copias) do
try
Application.NormalizeAllTopMosts;
Diseno.PreviewReport(normaldir(Extractfiledir(Application.Exename))+'Recibos.qr2');
finally
free;
Application.Restoretopmosts;
end;


Alguien tiene alguna idea de que ha cambiado y porque pasa esto. gracias de antemano