如何在 Delphi7 中增加 MessageDlg 的宽度?
How to Increase MessageDlg width in Delphi7?
我正在研究 Delphi 7. 我想更改 messageDlg 的宽度。
我的意思是我的消息测试很长,因为该消息显示在 2 行中,但我只想在一行中显示消息。
下面是我的单行代码
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 的宽度。
我的意思是我的消息测试很长,因为该消息显示在 2 行中,但我只想在一行中显示消息。
下面是我的单行代码
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
的实现中寻找灵感。大概您希望包含逻辑以避免使表单太宽,超出显示器的宽度等等。