Delphi предлагает лучшие решения для отображения окна сообщений.
Я должен использовать функцию MessageDlg. Возвращаемое значение функции MessageDlg (и MessageBox) указывает выбор пользователя. Таким образом, когда вы помещаете кнопку «Да» в MessageDlg, возвращаемое значение будет равно «Да», когда пользователь нажимает кнопку «Да».
Итак, ваш код будет выглядеть так:
var
ShouldClose: Boolean;
begin
if MessageDlg('Do you really want to quit?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
ShouldClose := True
else
ShouldClose := False;
end;
Вы также хотите закрыть приложение, если пользователь выберет Да.
Когда у вас есть нормальное приложение Delphi VCL, вы можете реализовать событие CloseQuery вашей главной формы, событие CloseQuery выполняется при попытке закрыть вашу основную форму (например, нажав кнопку закрытия) и имеет переменную CanClose. Если для параметра CanClose задано значение True, значит, что MainForm можно закрыть, а значение false - закрытие основной формы:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := MessageDlg('Do you really want to quit?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes;
end;