我有这段代码:
TShape* T[256];
/* Other code ... */
for (int i = 255; i > 0; i--) {
T[i]->Brush->Color = T[i - 1]->Brush->Color;
T[i]->Pen->Color = T[i - 1]->Pen->Color;
};
该循环由 TTimer 每 100 毫秒执行一次,第一个 TShape 的颜色每 100 毫秒更改一次。
在这个循环中,我看到一条闪烁的白色水平线,因为在接收到另一个 TShape 的颜色之前,每个 TShape 都无效并变为白色。
有没有办法避免这种行为?也许,我必须重写一些方法?