2

我使用以下内容显示一个消息框,我希望在其中使用 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

4

1 回答 1

1

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

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

.

 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 ] );
于 2013-07-22T12:03:53.077 回答