15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Добавляем компонент в стандартный Message dialog.

Автор: Terrance Hui

Совместимость: все версии Delphi

Пример показывает стандартное диалоговое окно, которое обычно используется для подтверждения дальнейших действий в любой программе с галочкой "Don't show this message again."

Используем функцию CreateMessageDialog и добавляем любой компонент до того как будет вызвана ShowModal.

Например:
procedure TForm1.Button1Click(Sender: TObject);
Var
  AMsgDialog: TForm;
  ACheckBox: TCheckBox;
begin
  AMsgDialog := CreateMessageDialog('This is a test message.', mtWarning, [mbYes, mbNo]);
  ACheckBox := TCheckBox.Create(AMsgDialog);
  with AMsgDialog do
  try
    Caption := 'Dialog Title' ;
    Height := 169;

    With ACheckBox do
    begin
      Parent := AMsgDialog;
      Caption := 'Don''t show me again.';
      top := 121;
      Left := 8;
    end;

    Case ShowModal of
      ID_YES: ;//здесь Ваш код после того как диалог будет закрыт
      ID_NO:  ;
    end;
    If ACheckBox.Checked then
    begin
      //...
    end;
  finally
    ACheckBox.Free;
    Free;
  end;
end;

Так же Вы можете изменить диалог по Вашему усмотрению.