目前,我设置了一个包含sLineBreak常量的字符串作为TLabel控件的Caption属性的值。
MyLabel.Caption := 'A' + sLineBreak + 'B';
sLineBreak在System.pas中定义如下(Delphi 2007):
const
sLineBreak = {$IFDEF LINUX} #10 {$ENDIF} {$IFDEF MSWINDOWS} #13#10 {$ENDIF};
有没有办法通过使用对象检查器来做同样的事情? (在设计时)。
更新 可能在将来我将把这个项目转移到一个新的IDE并将在不同的平台上开发,但目前我没有特别的理由使用sLineBreak而不是#13#10。对不起,我很抱歉。
答案 0 :(得分:5)
不,Object Inspector不会在设计时评估变量。
解决此问题的常用方法是在表单的构造函数中设置标题:
procedure TForm1.FormCreate(Sender: TObject);
begin
MyLabel.Caption := 'A' + sLineBreak + 'B';
end;
答案 1 :(得分:4)
您无法在设计时使用sLineBreak
常量。但是,您可以:
直接编辑DFM(右键单击表单设计器并选择View as Text
)将CR / LF字符插入编码的Caption
文本中,例如:
使用裸-LF换行符
object MyLabel: TLabel
Caption = 'A'#10'B'
end
使用CRLF换行符
object MyLabel: TLabel
Caption = 'A'#13#10'B'
end
安装第三方设计时属性编辑器(或编写自己的),允许对String
属性值进行多行编辑。例如,"Extended String Property Editor"。
答案 2 :(得分:3)
我假设您希望在跨平台设置中执行此操作,在这种情况下无法完成此操作。表单文件没有任何条件值规范机制。您应该在运行时应用该值。