首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MessageDlg不识别Delphi10.3中的“制表符”字符(#9)

MessageDlg不识别Delphi10.3中的“制表符”字符(#9)
EN

Stack Overflow用户
提问于 2019-07-08 18:35:53
回答 2查看 462关注 0票数 0

我正在尝试显示一个在MessageDlg中包含制表符的字符串。字符串中的制表符无法正确识别和显示。我非常确定它与MessageDlg有关,而不是字符串本身,因为它在TRichEdit组件中正确显示。

我还没有尝试在其他版本的Delphi中复制这个结果,这是迄今为止我找到的唯一相关文章:https://forums.embarcadero.com/message.jspa?messageID=710405

代码语言:javascript
复制
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‘

EN

回答 2

Stack Overflow用户

发布于 2019-07-08 19:07:24

你可以在设置UseLatestCommonDialogs := False;的时候让它工作--嗯,至少是部分的。看起来你无法控制标签的大小,这使得结果有点不可靠。

票数 1
EN

Stack Overflow用户

发布于 2019-07-08 19:04:25

可能存在重复的Tab characters no longer work in Delphi XE2 message dialogs - alternatives?

我个人会为此创建一个窗体,其中包含一个只读的Memo控件。该表单将使用ShowModal显示。这样做的好处是用户可以复制-粘贴文本。使用具有ModalResult属性的按钮,还可以返回Yes/No结果。

代码语言:javascript
复制
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 ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56933115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档