PDA

Ver la Versión Completa : Always on Top


madmai
06-07-2007, 19:20:21
Hola chicos muchos de vosotros habreis visto la funcion de winamp always on top, que hace que el programa este siempre visible, aunque abras diferentes programas, pues bien quisiera saber si hay alguna forma en delphi de hacer la misma funcion pero con un formulario, que permanezca siempre delante de la pantalla el formulario hasta que se cierre ese formulario, gracias de antemano

roman
06-07-2007, 19:24:26
Prueba poniendo la propiedad FormStyle del formulario en fsStayOnTop.

// Saludos

madmai
11-07-2007, 09:08:40
Bien eso del stay on top funciona pero dentro del programa cuando vas a otro programa que tienes abierto el formulario que esta stay on top sigue ocultandose detras del programa que abres en ese momento, a ver si alguien me ayuda con algo que permanezca siempre delante de la pantalla el formulario, gracias de antemano.

roman
11-07-2007, 18:31:50
Prueba entonces poniendo esto en el evento OnDeactivate de la aplicación:


SetWindowPos(Form2.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);


Sustituye Form2 por el formulario que quieras.

// Saludos

madmai
13-07-2007, 11:12:03
Funciona a medias o a lo mejor no lo se hacer yo, resulta que he creado un procedure donde se realiza esto:
SetWindowPos(Fmain.Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE); y luego lo he asignado a application.ondeactivate el procedure, pues bien funciona a medias por que teniendo el formulario que quiero que permanezca siempre on top, la primera vez que clico en otra aplicacion si se queda delante pero despues la siguiente vez si que desaparece detras. A ver si puedo asignarlo a otro evento y funciona perfecto. Acepto ideas, gracias de antemano.

utilizo showmodal y me salta algunas excepciones especifica mas como lo debo de hacer.

madmai
13-07-2007, 16:22:29
Vale ya lo he solucionado, se trata de poner los formularios con el stay on top y el codigo de mas arriba, gracias por todo.