// Mit dem folgenden Code wird eine Messagebox erzeugt, die sich
// nach einer vorgegebenen Zeit selbst schließt.


// Getestet mit D4 unter XP

function ExternalBox(hWd: DWord; lpText, lpCaption: PChar; 
  uType: DWord; wLanguageId: Word; dwMilliseconds: DWord): 
  LongInt; stdcall; external user32 name 'MessageBoxTimeoutA'; 
 
function ZeitBox(h: THandle; sText, sCaption: string; 
  cType, cTime: Cardinal): integer; 
begin 
  result := ExternalBox(h, PChar(sText + '   '), PChar(sCaption), 
    cType, 0, cTime); 
end; 



// Beispielaufruf 
 
var 
  zeit: cardinal = 5000; // 5 Sekunden 
 
procedure TForm1.Button2Click(Sender: TObject); 
var 
  s: string; 
begin 
  if zeit > 0 then s := 'MessageBox wird automatisch geschlossen.' 
  else s := 'MessageBox bleibt bis Klick oder Alt+F4 geöffnet.'; 
  case ZeitBox(handle, s, 'Test', MB_OKCANCEL or MB_ICONINFORMATION, zeit) of 
    MROK: s := 'OK'; 
    MRCANCEL: s := 'Abgebrochen'; 
  else s := 'Zeit abgelaufen'; 
  end; 
  showmessage(s); 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke