如何更改 MessageDlg 按钮的大小?

How to change buttons' size of MessageDlg?

我使用以下声明成功更改了 MessageDlg 的字体大小:

function MessageDlg(const Msg: string; DlgType: TMsgDlgType;
                    Buttons: TMsgDlgButtons; HelpCtx: Integer): Integer;

和以下实现:

function MyForm.MessageDlg(const Msg: string; DlgType: TMsgDlgType;
                           Buttons: TMsgDlgButtons; HelpCtx: Integer): Integer;
begin
  with CreateMessageDialog(Msg, DlgType, Buttons) do
    try
      Font.Size := 22;
      Result := ShowModal;
    finally
      Free;
    end
end;

问题是按钮的大小(和对话框的大小)不会根据新的字体大小而改变。

有没有一种简单的方法可以根据我设置的字体大小调整对话框按钮的大小?

MessageDialog 使用 Screen.MessageFont 计算消息和大小。

使用

  Screen.MessageFont.Size := 22;

在你打电话之前 CreateMessageDialog

您可能想要存储旧值并在您发送消息后恢复它。