SoloCodigo

Programación General => C/C++ => C++ Builder => Mensaje iniciado por: crbrs en Miércoles 29 de Junio de 2005, 15:24

Título: Form Siempre Al Frente??
Publicado por: crbrs en Miércoles 29 de Junio de 2005, 15:24
desearia que un form siempre este al frente.. ya que lo utilizo como splash, y dspues al cargar en mi programa (el principal) lo llamo con winexec (...,...)
y dspues m carga el programa principal.. pues el splash se m va al fondo...
Nota: El splash no es de carga.
Si alguien tiene alguna idea, se lo agradecia.
gracias.
Título: Re: Form Siempre Al Frente??
Publicado por: Eternal Idol en Miércoles 29 de Junio de 2005, 21:50
Podes usar SetWindowLong, el primer parametro es el HWND de la ventana, el segundo para este caso seria GWL_EXSTYLE y el tercero tambien para este caso en particular WS_EX_TOPMOST.

 :ph34r:  :comp:  :hola:
Título: Re: Form Siempre Al Frente??
Publicado por: crbrs en Jueves 30 de Junio de 2005, 15:28
gracias.. pero lo consegui de otra forma al final.. con la propiedad del Form, FormStyle->fsStayOnTop y siempre estara al frente. mas facil no?.. gracias d todas formas.
Título: Re: Form Siempre Al Frente??
Publicado por: Eternal Idol en Jueves 30 de Junio de 2005, 15:54
De nada, pero eso solo te sirve para VCL.

 :hola:
Título: Re: Form Siempre Al Frente??
Publicado por: cerberos en Viernes 12 de Agosto de 2005, 21:17
Yo te recomendaría que pusieras tu Splash de tal forma que se mostrara mientras se carga el programa, tendrias que ir a Project->Options seleccionar la ficha de Forms y colocar tu Splash en Available forms, esto para que no se creé automáticamente.

Ahora te diriges a Project->View Source y te colocas antes de las sentencias CreateForm, y creas la nueva ventana. Y después, cuando se cargue el programa la borras. Algo como esto:
Código: Text
  1.  
  2.         Application->Initialize();
  3.         Splash = new TSplash(Application);
  4.         Splash->Show();
  5.         Splash->Update();
  6.         Application->CreateForm(__classid(TForm1), &Form1);
  7.         delete Splash;
  8.         Application->Run();
  9.  
  10.  
Si se muestra muy rápido podrías utilizar _sleep(2); antes del delete.
(De veras incluir el unit para que reconozca a TSplash).
[/color]
Título: Re: Form Siempre Al Frente??
Publicado por: Eternal Idol en Viernes 12 de Agosto de 2005, 22:11
Lo mismo, el post tiene mas de un año, ya esta resuelto y no pareces haber leido bien donde dice:

Cita de: "crbrs"
Nota: El splash no es de carga.