@DelphiProgrammer
Der Grund hierfür ist, dass wohl vom Benutzer eine Entscheidung getroffen werden soll.
Wenn der aber innerhalb eines Zeitraums x
keine Entscheidung trifft, dann wird eben eine Standardentscheidung angenommen.
"Wollen Sie das Programm wirklich beenden? Ja/Nein" -> nach 10 Sekunden ohne Reaktion des Benutzers wird "Ja" als Entscheidung angenommen und das Programm beendet.
Für genau so einen Fall würde ich einen eigenen Dialog erstellen der analog zum MessageDlg funktioniert (gleiche Parameter + TimeOut, gleiches Aussehen) und über einen Timer den Dialog mit der Default-Antwort zurückliefert.
(evtl. sogar noch mit einer ProgressBar oder halt etwas zum Anzeigen der verstreichenden Zeitspanne)
Delphi-Quellcode:
function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint; DefaultButton: TMsgDlgBtn; Timeout : Integer): Integer;
begin
// eigentlich alles aus dem Original kopieren und einen Timer mit einbauen
end;