Вверх ↑
Разработчик
Ответов: 26163
Рейтинг: 2127
#1: 2008-04-07 12:10:16 ЛС | профиль | цитата
Еще одну муть нашел в другом компоненте, в VisualShape


  Control.Transparent := _prop_Transparent;
Inherited;
end;

procedure THIVisualShape.Paint(sender:PControl;DC:HDC);
var
PT: Integer;
begin
with sender.canvas{$ifndef F_P}^{$endif} do
begin
Brush.Color := Sender.Color;

// Вот это я добавил, а то никакой прозрачности никогда не будет
if not _prop_Transparent then begin
Brush.BrushStyle := bsSolid;
end else
Brush.BrushStyle := bsClear;
FillRect(Sender.ClientRect);
Brush.BrushStyle := bsSolid;

Galkov писал(а):
Их наличие, свидетельство неправильной работы системы кодов

А я на чудеса и не расчитывал, и при движении тоже наблюдал флики, да и не только при движении но и при клацании мышой.
В любом случае, дополнительно выполняя Self_.Invalidate или Self_.DblBufTopParent.Invalidate, мы повторно вызываем DoDrawDblBuffered( Self_ ), что очень сильно грузит процессор, но убирает напрочь все флики. Вот как это победить, я пока не нашел.

карма: 22

0