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