如何在Delphi7中增加MessageDlg宽度?

如何在Delphi7中增加MessageDlg宽度?,delphi,delphi-7,Delphi,Delphi 7,我在Delphi7上工作。我想更改messageDlg的宽度 我的意思是我的消息测试很长,因为消息显示在两行中,但我只想显示一行中的消息 下面是我的一行代码 MessageDlg('i want to display only in oneline i want to display only in oneline i want to display only in oneline i want to display only in oneline i want to display only

我在Delphi7上工作。我想更改messageDlg的宽度

我的意思是我的消息测试很长,因为消息显示在两行中,但我只想显示一行中的消息

下面是我的一行代码

MessageDlg('i want to display only in oneline i want to display only in oneline i want to display only in oneline i want to display only in oneline i want to display only in oneline',mtError,[mbok],0)
结果是:


上面的消息显示在两行中,但我只想在一行中显示消息

在Delphi 7中,
MessageDlg
函数是在
CreateMessageDialog
之上实现的。您可以调用该方法并将
TForm
实例返回给您。然后可以加宽该表单,加宽其标签,然后显示该表单

var
  Form: TForm;
  Label: TLabel;
....
Form := CreateMessageDialog(Msg, mtError, [mbOK]);
try
  Label := Form.FindComponent('Message');
  Label.Width := Label.Width + ExtraWidth;
  Form.ClientWidth := Form.ClientWidth + ExtraWidth;
  Form.Position := poScreenCenter;
  ShowModal;
finally
  Form.Free;
end;

剩下的就是要您计算出
ExtraWidth
。在
CreateMessageDialog
的实现中寻找灵感。您可能希望包含逻辑,以避免表单太宽,超出监视器的宽度等等。

在Delphi 7中,
MessageDlg
函数是在
CreateMessageDialog
之上实现的。您可以调用该方法并将
TForm
实例返回给您。然后可以加宽该表单,加宽其标签,然后显示该表单

var
  Form: TForm;
  Label: TLabel;
....
Form := CreateMessageDialog(Msg, mtError, [mbOK]);
try
  Label := Form.FindComponent('Message');
  Label.Width := Label.Width + ExtraWidth;
  Form.ClientWidth := Form.ClientWidth + ExtraWidth;
  Form.Position := poScreenCenter;
  ShowModal;
finally
  Form.Free;
end;

剩下的就是要您计算出
ExtraWidth
。在
CreateMessageDialog
的实现中寻找灵感。想必您希望包含逻辑,以避免表单太宽,超出显示器的宽度等等。

谁想阅读一行延伸到远处的文本,而没有新行?就好像你想让你的用户体验变得更糟。@DavidHeffernan:你说得对。但是你能告诉我怎么做吗。我对学习很感兴趣。在以后的Delphi版本中,您会发现消息对话框实际上已经变得更小,以便于阅读。你截图中的那个已经比我想象的大了很多。如果它没有坏,为什么要修复它?让它保持原样,也只是因为它出现在两行上,对于另一个可能使用不同屏幕分辨率的用户来说,情况可能并非如此,系统字体、大小和主题样式等。让Windows为您解决这一问题,不用担心:)谁想阅读一行延伸到远处的文本,而不需要一行新行?就好像你想让你的用户体验变得更糟。@DavidHeffernan:你说得对。但是你能告诉我怎么做吗。我对学习很感兴趣。在以后的Delphi版本中,您会发现消息对话框实际上已经变得更小,以便于阅读。你截图中的那个已经比我想象的大了很多。如果它没有坏,为什么要修复它?让它保持原样,也只是因为它出现在两行中,对于其他用户来说可能不是这样,例如,可能使用不同的屏幕分辨率、系统字体和大小以及主题样式等。让Windows为您解决这个问题,不要担心:)