Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
3-1178888704
RomanLN
2007-05-11 17:05
2007.09.02
создаю БД с ID возникает проблема при удалении записи


4-1172391543
Comp
2007-02-25 11:19
2007.09.02
Корректное пересоздание Pen


1-1178203465
kirajax
2007-05-03 18:44
2007.09.02
Объекты в RTF


2-1186487935
GhosTer
2007-08-07 15:58
2007.09.02
Запуск от администратора


2-1186656444
Kolan
2007-08-09 14:47
2007.09.02
У ComboBox на фрейме не случается MeasurmentComboBoxDrawItem




   Наверх