Форум: "Основная";
Текущий архив: 2007.09.02;
Скачать: [xml.tar.bz2];
ВнизМерцает компонент Найти похожие ветки
← →
Мелодик (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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.049 c