Ver Mensaje Individual
  #2  
Antiguo 15-03-2005
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Reputación: 22
keyboy Va por buen camino
No es que sea una pavada sino que es un método más de aplicaciones DOS que de Windows. Lo normal sería que usaras una ventana modal (sea con ShowMessage o una ventana propia) para mostrar el mensaje de error. La aplicación no continuará mientras no se cierre dicha ventana.

De todas formas creo que puedes lograr el efecto que quieres de la siguiente manera.

Declara una variable Esperar, de tipo Booleano, en tu formulario. Coloca una componente ApplicationEvents y en su evento OnMessage pones:

Código:
if Esperar then
begin
  Esperar := Msg.message <> WM_KEYDOWN;
  Handled := true;
end;
Cuando vayas a mostrar el mensaje lo haces así:

Código:
Panel1.Caption := 'Espere...';
Panel1.Refresh;
 
Esperar := true;
 
Panel1.Caption := 'Gracias!';
Tan pronto asignes true a Esperar, el evento OnMessage se comerá todos los mensajes que se envían a la aplicación (con el efecto de desactivarla) y sólo volverá a responder hasta recibir el mensaje WM_KEYDOWN (tecla oprimida).

Bye
Responder Con Cita