Вниз
Скачать: 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.013 c
10-1136671723
Gear
2006-01-08 01:08
2007.09.02
функция в COM возвращает HRESULT, а дельфи создаёт procedure


2-1186761790
denewb
2007-08-10 20:03
2007.09.02
Comparing signed and unsigned types - widened both operands


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


2-1186653976
kukuikar
2007-08-09 14:06
2007.09.02
Как спрятать значок из SystemTray чужого приложения


2-1186547053
Alex_Y
2007-08-08 08:24
2007.09.02
как убрать иконку окна?




   Наверх