DoubleBuffered”只作用于由delphi code绘制的控件(派生于TCustomControl or TGraphicControl),这个信息你有详细的资料吗?
你所使用的TRichEdit的继承关系是: .....TControl--TWinControl--TCustomEdit--TCustomMemo--TCustomRichEdit--TRichEdit
VCL有源码的,都在那些PAS文件里,有兴趣可以去研究研究
[quote=引用 6 楼 ooolinux 的回复:] DoubleBuffered”只作用于由delphi code绘制的控件(派生于TCustomControl or TGraphicControl),这个信息你有详细的资料吗?
去查了一下,有几个原因: 1.TRichEdit并不支持VCL的“DoubleBuffered”,这个属性只不过是从TWinControl继承而来,这也解释了为什么设计阶段,在TForm的“属性编辑器”中可以直接设置“DoubleBuffered”属性,而TRichEdit的“属性编辑器”中,并没有“DoubleBuffered”属性,只有写代码的时候才能找到这个属性。可见VCL并不打算让你在“属性编辑器”中看到“DoubleBuffered”属性并去设置它。 2.根本原因在于,TRichEdit在运行的时候,是由windows去负责绘制的(和其他windows控件一样),“DoubleBuffered”只作用于由delphi code绘制的控件(派生于TCustomControl or TGraphicControl)
13,826
社区成员
102,678
社区内容
加载中
试试用AI创作助手写篇文章吧