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

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

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

Например:

{codecitation class=»brush: pascal; gutter: false;» width=»500px»}

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;

{/codecitation}

Также Вы можете изменить диалог по Вашему усмотрению. Эти изменения основаны на том, что функция CreateMessageDialog создаёт форму, на которой располагаются компоненты стандартного диалога (небольшая иконка, текст сообщения, кнопки). На эту форму можно добавить любой компонент и, соответственно, изменить внешний вид диалога.

Добавить комментарий