Delphi 设置新内容之前是否需要清除状态栏?

Delphi 设置新内容之前是否需要清除状态栏?,delphi,Delphi,打电话吗 Statusbar.Panels[0].Text := 'new text'; 自动删除状态栏中以前的内容,还是必须先删除代码中以前的内容 尝试它可能比在这里提问更快:) 但是,如果你设置了一个新的文本,以前的内容就会被清除 但是,代码不会立即绘制文本,因此如果处于循环中,则不会看到文本被更新。如果要强制绘制新文本,可以调用statusbar.repaint。只要每秒调用次数不要超过10次,否则您会注意到循环速度减慢。任何赋值(通过:=)都会用新数据完全替换原始数据。这是编程的标准基

打电话吗

Statusbar.Panels[0].Text := 'new text';

自动删除状态栏中以前的内容,还是必须先删除代码中以前的内容

尝试它可能比在这里提问更快:)

但是,如果你设置了一个新的文本,以前的内容就会被清除


但是,代码不会立即绘制文本,因此如果处于循环中,则不会看到文本被更新。如果要强制绘制新文本,可以调用
statusbar.repaint
。只要每秒调用次数不要超过10次,否则您会注意到循环速度减慢。

任何赋值(通过
:=
)都会用新数据完全替换原始数据。这是编程的标准基础,也是您应该学习的第一件事情之一。状态栏为您完成所有文本绘制工作,因此,一旦您更新属性,控件将使用实际数据重新绘制自身。相比之下,所有者绘制的面板确实要求您在绘制新内容之前擦除背景。看到许多事先清除背景的示例,我不禁怀疑。因此,无论谁发布答案…@Jerrydoge您都可以使用属性设置器做很多神奇的事情,因此这取决于实现。但是在这个例子和当前的实现中,你是对的。在我看来,你可以用一个新的空白应用程序和一个状态栏在30秒内自己测试这个。你为什么不能这么做?那30秒不是比你在这里输入问题和格式化代码的时间还要快吗?