如何使用 object 检查器中的 sLineBreak?
How to use sLineBreak from the object inspector?
目前,我正在设置一个包含 sLineBreak 常量的字符串作为 TLabel 控件的标题 属性 的值。
MyLabel.Caption := 'A' + sLineBreak + 'B';
sLineBreak 在System.pas 中定义如下 (Delphi 2007):
const
sLineBreak = {$IFDEF LINUX} #10 {$ENDIF} {$IFDEF MSWINDOWS} #13#10 {$ENDIF};
有没有办法使用 object 检查器来做同样的事情? (在设计时)。
更新:
可能在未来我会将这个项目移动到更新的 IDE 并在不同的平台上开发,但目前没有特别的原因我使用 sLineBreak 而不是 #13#10。不好意思造成误会。
不,Object Inspector 不会在设计时评估变量。
解决此问题的常用方法是在表单的构造函数中设置标题:
procedure TForm1.FormCreate(Sender: TObject);
begin
MyLabel.Caption := 'A' + sLineBreak + 'B';
end;
我假设您希望在跨平台设置中执行此操作,在这种情况下无法完成。表单文件没有任何条件值规范机制。您应该在运行时应用该值。
您不能在设计时使用 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".
目前,我正在设置一个包含 sLineBreak 常量的字符串作为 TLabel 控件的标题 属性 的值。
MyLabel.Caption := 'A' + sLineBreak + 'B';
sLineBreak 在System.pas 中定义如下 (Delphi 2007):
const
sLineBreak = {$IFDEF LINUX} #10 {$ENDIF} {$IFDEF MSWINDOWS} #13#10 {$ENDIF};
有没有办法使用 object 检查器来做同样的事情? (在设计时)。
更新: 可能在未来我会将这个项目移动到更新的 IDE 并在不同的平台上开发,但目前没有特别的原因我使用 sLineBreak 而不是 #13#10。不好意思造成误会。
不,Object Inspector 不会在设计时评估变量。
解决此问题的常用方法是在表单的构造函数中设置标题:
procedure TForm1.FormCreate(Sender: TObject);
begin
MyLabel.Caption := 'A' + sLineBreak + 'B';
end;
我假设您希望在跨平台设置中执行此操作,在这种情况下无法完成。表单文件没有任何条件值规范机制。您应该在运行时应用该值。
您不能在设计时使用 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".