当以这种方式监听 TTreeView 事件的 AdvancedCustomDraw 事件时:
if Stage = cdPrePaint then begin
// modify some Sender.Canvas properties and let it draw itself
end else if Stage = cdPostPaint then begin
// draw 'something extra' using a separate TControlCanvas
TControlCanvas.TextOut(SomeRect, 'Hello');
end;
...似乎当我启用 DoubleBuffered 时,控件决定不将“额外的东西”复制到屏幕外缓冲区。这意味着只要我不打扰有问题的窗户,一切都很好。当我这样做时,“额外的东西”仅在窗口的随机部分可见。
我在这里想念什么?