Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   MessageDlg automatico (https://www.clubdelphi.com/foros/showthread.php?t=21947)

rex 01-06-2005 22:16:46

MessageDlg automatico
 
Como puedo hacer para que al desplegar un MessageDlg con un boton MbOK, sin que el usuario pulse el boton, pasados 3 segundos el dialogo se desaparesca

roman 01-06-2005 23:17:23

Lo ideal sería que hicieras tu propio cuadro de diálogo, pero a manera provisional prueba esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := true;
  if MessageDlg('¿Quiere formatear su disco duro?', mtWarning, [mbYes, mbNo], 0) = mrYes then
    ShowMessage('Su disco duro ha sido formateado, gracias');
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Wnd: HWnd;

begin
  Wnd := FindWindow(nil, 'Warning');
  if Wnd <> 0 then
    keybd_event(VK_RETURN, 0, 0, 0);

  Timer1.Enabled := false;
end;

Timer1 sería un Timer inhabilitado con su propiedad Interval igual al tiempo que desees esperar.

// Saludos

rex 02-06-2005 00:18:57

Muchisismas gracias es la solucion a mi problema. Muy amable de tu parte


La franja horaria es GMT +2. Ahora son las 17:52:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi