Ver Mensaje Individual
  #9  
Antiguo 16-10-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El hecho de cambiar SWP_NOACTIVATE por SWP_SHOWWINDOW puede provocar alteraciones al perder el foco pues la ventana se va a "negar" a ello. La única pega que se puede poner es que se debe poner FormStyle = fsStayOnTop; en el momento de diseño, en el constructor, o bien alterar el código de esta forma para obligar el primer plano desde el comienzo:


Código:
void  __fastcall TForm3::WndProc(Messages::TMessage& Message)
{
  if(Visible && Message.Msg == WM_KILLFOCUS || Message.Msg == WM_SHOWWINDOW){
    SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
  }
  TForm::WndProc(Message);
}
A mi me funciona correctamente en Win XP.


Saludos.
Responder Con Cita