TLabel未与TPanel重叠更新

时间:2015-01-16 06:14:30

标签: c++builder

我的环境:

VCL application developped on RadStudio XE4 on Windows 7 pro (32bit).
tested on Windows 7 pro (32bit).

我发现使用RadStudio XE4生成的一些奇怪的软件行为。 放置在TPanel上的TLabel字符串未正确更新。

最简单的例子如图所示。在这个软件中,TLabel显示每秒的当前时间。如图所示,除非我将其他软件的窗口重叠在TPanel组件上,否则下部(在TPanel上)不会更新。

enter image description here

这是RadStudio的正常行为吗?或RadStudio中的一些错误?

如果有一些解决方法,我想知道。

1 个答案:

答案 0 :(得分:2)

TLabelTGraphicControl后代。 TPanelTWinControl后代。 TGraphicControlParent窗口的HDC上呈现Parent,而不在同一TLabel的其他子控件上呈现。更新Parent后,会触发其TPanel的重绘,但不会触发TPanel的重绘。要强制进行重新绘制,请在对Update()进行更改时调用Invalidate()的{​​{1}}或TLabel方法。

相关问题