1

如果我将制表符放入字符串中,然后从字符串中分配标签的 Caption 属性,制表符会做什么?

CR 字符会导致返回,这对于显示多行标题很有用。制表符似乎确实执行某种制表动作 - 我想知道这种行为是否已定义或可预测。(我猜行为是由 Windows 决定的,而不是 Delphi)。

4

1 回答 1

4

如果将制表符放在 a 中TLabel.Caption,则Caption包含制表符。

制表符的显示方式取决于您使用的字体和 Windows 本身。XE 中的快速测试,例如,在 Win7 上显示适合制表符的间距(大约 8 个空格,在非比例字体中)。

这是我的测试。在表单上放置三个标签,并将其添加到表单的 OnCreate 事件中:

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label2.Left := Label1.Left;
  Label3.Left := Label2.Left;
  Label1.Caption := 'Some text'#9'Some text'#9'More text';
  Label2.Caption := Label1.Caption;
  Label3.Caption := Label1.Caption;
end;

这是输出:

样本标签输出

于 2011-10-25T03:01:50.443 回答