我的环境:
VCL application developped on RadStudio XE4 on Windows 7 pro (32bit).
tested on Windows 7 pro (32bit).
我发现使用RadStudio XE4生成的一些奇怪的软件行为。 放置在TPanel上的TLabel字符串未正确更新。
最简单的例子如图所示。在这个软件中,TLabel显示每秒的当前时间。如图所示,除非我将其他软件的窗口重叠在TPanel组件上,否则下部(在TPanel上)不会更新。
这是RadStudio的正常行为吗?或RadStudio中的一些错误?
如果有一些解决方法,我想知道。
答案 0 :(得分:2)
TLabel
是TGraphicControl
后代。 TPanel
是TWinControl
后代。 TGraphicControl
在Parent
窗口的HDC上呈现Parent
,而不在同一TLabel
的其他子控件上呈现。更新Parent
后,会触发其TPanel
的重绘,但不会触发TPanel
的重绘。要强制进行重新绘制,请在对Update()
进行更改时调用Invalidate()
的{{1}}或TLabel
方法。