Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.09.02;
Скачать: CL | DM;

Вниз

Мерцает компонент   Найти похожие ветки 

 
Мелодик   (2007-06-01 20:53) [0]


WM_NCPAINT:
     begin
       GetWindowRect(Handle, R);
       OffsetRect(R, -R.Left, -R.Top);

       if BorderStyle = bsNone then
         InflateRect(R, 2, 2);

       Canvas := TCanvas.Create;
       Canvas.Handle := GetWindowDC(Handle);

       ExcludeClipRect(Canvas.Handle, R.Left + BorderWidth + 2, R.Top + BorderWidth + 2, R.Left + BorderWidth + 2 + ClientWidth, R.Top + BorderWidth + 2 + ClientHeight);

       PaintBorder(Canvas, R);

       ReleaseDC(Handle, Canvas.Handle);
       Canvas.Handle := 0;
       Canvas.Free;
       Message.Result := 0;
     end;
   WM_ERASEBKGND:
     begin
       begin
         Canvas := TCanvas.Create;
         Canvas.Handle := Message.wParam;

         if Canvas.Handle <> 0 then
         begin
           GetWindowRect(Handle, R);
           OffsetRect(R, -R.Left, -R.Top);
           InflateRect(R, 2, 2);

           if FDisableEraseBkgnd then
           begin
             if Assigned(FOnEraseBkgnd) then
               FOnEraseBkgnd(Self, Canvas);
           end
           else
             PaintBuffer(Canvas, R);
         end;

         Canvas.Handle := 0;
         Canvas.Free;
       end;

       Message.Result := 1;
       Exit;
     end;


Происходит сильное мерцание компонента.
Вот код отрисовки.
Помогите плз избавиться от мерцания.


 
Женька   (2007-06-20 17:16) [1]

Привет! Попробуй DoubleBuffered в true установить.



Страницы: 1 вся ветка

Текущий архив: 2007.09.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
15-1186401509
de.
2007-08-06 15:58
2007.09.02
Acer 5100


15-1186219330
GROM2007-92
2007-08-04 13:22
2007.09.02
Как работать?


2-1186575343
wazaaaa
2007-08-08 16:15
2007.09.02
Wait until program starts


15-1186168733
Prohodil Mimo
2007-08-03 23:18
2007.09.02
Где можно найти что понимает FireFox в CSS?


15-1186253150
palva
2007-08-04 22:45
2007.09.02
что для программиста - развлечение, то для ламера - смерть