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

Пример показывает стандартное диалоговое окно, которое обычно используется для подтверждения дальнейших действий в любой программе с галочкой "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;

Также Вы можете изменить диалог по Вашему усмотрению. Эти изменения основаны на том, что функция CreateMessageDialog создаёт форму, на которой располагаются компоненты стандартного диалога (небольшая иконка, текст сообщения, кнопки). На эту форму можно добавить любой компонент и, соответственно, изменить внешний вид диалога.
Теги:
Message Dialog
Добавлено: 01 Августа 2018 07:04:33 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...