Ver Mensaje Individual
  #17  
Antiguo 08-01-2008
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
Hola Xio,

Lo primero que debes hacer es cambiar el código on el evento OnActivate del Form, cambialo por este otro:
Código Delphi [-]
Procedure TFormMenu.FormActivate(Sender: TObject);
Begin
SetWindowPos(Handle , HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE or
          SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOREPOSITION);
end;

el segundo paso es evitar que el formulario principal se ponga en sobre los demás cuando es movido, para esto tendrás que declarar en el private el siguiente procedimiento
Código Delphi [-]
type
  TFormMenu = class(TForm)
    ....
    .......
  private
    { Private declarations }
    Procedure FormPosChanged(var Msg: TMessage); message WM_WINDOWPOSCHANGED;

El procedimiento FormPosChanged, lo implementarás así:
Código Delphi [-]
procedure TFormMenu.FormPosChanged(var Msg: TMessage);
begin
SetWindowPos(Handle,HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE or
          SWP_NOSIZE or SWP_NOACTIVATE or SWP_NOREPOSITION);
Msg.Result := 0;
end;

Con este código, ya podrás tener una ventana que siempre esté bajo las demás.

Saludos.

PD: Como a forma de cosejo, me parece que el titulo del hilo no es el adecuado. Todo indicaba que lo que querías era saber el mensaje que se envia cuando la aplicación se restaura, que en todo caso, siempre sería recomendable utilizar los códigos que los compañeros han posteado.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 08-01-2008 a las 21:40:08.
Responder Con Cita