我使用以下内容显示一个消息框,我希望在其中使用TAB字符分配一些信息。
在Windows XP上可以正常运行,但在Windows 7上则无法运行(我没有要测试的Windows 8)。

      ShowMessage(lSearch + sLineBreak +
                  'Breddegrad:  ' + Chr(9) + HAMInfo.Latitude + sLineBreak +
                  'Længdegrad:  ' + Chr(9) + HAMInfo.Longitude + sLineBreak +
                  'QRA locator: ' + Chr(9) + HAMInfo.Qra);


如果无法解决在Windows 7上无法解决的问题,还有哪些其他选择?

德尔福XE3

最佳答案

另一个变体是在调用ShowMessageFmt之前使用format或显式使用ShowMessage函数。

但是由于默认字体是成比例的而不是固定宽度,所以仍然不会导致精确的均等对齐。


http://www.delphibasics.co.uk/RTL.asp?Name=ShowMessageFmt
http://delphi.about.com/library/rtl/blrtlShowMessageFmt.htm




 ShowMessageFmt('%s'#13#10 +
   '%-16s%s'#13#10 + '%-16s%s'#13#10 + '%-16s%s',
   [ lSearch , 'Breddegrad:', HAMInfo.Latitude,
               'Længdegrad:', HAMInfo.Longitude,
               'QRA locator:', HAMInfo.Qra ] );

10-04 15:58