我正在尝试显示一个在MessageDlg中包含制表符的字符串。字符串中的制表符无法正确识别和显示。我非常确定它与MessageDlg有关,而不是字符串本身,因为它在TRichEdit组件中正确显示。
我还没有尝试在其他版本的Delphi中复制这个结果,这是迄今为止我找到的唯一相关文章:https://forums.embarcadero.com/message.jspa?messageID=710405
sInfo := #13 + 'Name:' + #9 + sName + #13 +
'Surname:' + #9 + sSurname + #13 +
'Address:' + #9 + sAddress + #13 +
'E-mail:' + #9 + sEmail + #13 +
'Phone:' + #9 + sCell;
iConfirm := MessageDlg('Add the following member info: ' + sInfo,
mtConfirmation, mbYesNo, 0);我希望这个字符串在MessageDlg中显示在两列中,但它显示如下:'Name:Janrich‘
发布于 2019-07-08 19:07:24
你可以在设置UseLatestCommonDialogs := False;的时候让它工作--嗯,至少是部分的。看起来你无法控制标签的大小,这使得结果有点不可靠。
发布于 2019-07-08 19:04:25
可能存在重复的Tab characters no longer work in Delphi XE2 message dialogs - alternatives?
我个人会为此创建一个窗体,其中包含一个只读的Memo控件。该表单将使用ShowModal显示。这样做的好处是用户可以复制-粘贴文本。使用具有ModalResult属性的按钮,还可以返回Yes/No结果。
sInfo := #13 + 'Name:' + #9 + sName + #13 +
'Surname:' + #9 + sSurname + #13 +
'Address:' + #9 + sAddress + #13 +
'E-mail:' + #9 + sEmail + #13 +
'Phone:' + #9 + sCell;
memoMessageBox := TMemoMessageBoxForm.Create;
try
memoMessageBox.Memo1.Text := sInfo;
dlgRes := memoMessageBox.ShowModal; // ModalResult
finally
FreeAndNil(memoMessageBox);
end;
if dlgRes = mrYes then ...https://stackoverflow.com/questions/56933115
复制相似问题