在编写自定义控件期间,在尝试BorderWidth
正确实现默认属性时,我似乎偶然发现了显示滚动条时绘制行为中的一个错误:滚动条之间的空间和控件的范围没有绘制。
OnCreate
要重现该错误,请为新项目的主窗体实现以下处理程序:
procedure TForm1.FormCreate(Sender: TObject);
begin
AutoScroll := True;
BorderWidth := 20;
SetBounds(10, 10, 200, 200);
with TGroupBox.Create(Self) do
begin
SetBounds(300, 300, 50, 50);
Parent := Self;
end;
end;
D7 和 XE2 的结果:
似乎这在 Delphi XE2 中终于得到了修复。很可能,此错误将驻留在 中TWinControl.WMNCPaint
,但在查看时Controls.pas
,我找不到 D7 和 XE2 之间的实现有任何显着差异。
我想得到以下答案:
- 如何为这个奇怪的东西写一个错误修正,
- 似乎从哪个 Delphi 版本修复了此错误。