PDA

Ver la Versión Completa : MessageDlg automatico


rex
01-06-2005, 22:16:46
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:


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