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

Вниз

Работа с Canvas   Найти похожие ветки 

 
Mr_Hunter   (2002-05-30 15:54) [0]

Господа мастера! Помогите решить вот какую проблему.
На Canvase нарисована (к примеру) окружность. На OnMouseMove повешен обработчик: при движении мыши перемешать окружность в то место где в тек момент находиться мышь. Но при перерисовке идет мерцание! Вопрос можно ли от него избавиться и как!! Хорошо бы работающий пример!
Заранее спасибо.


 
Song ©   (2002-05-30 15:59) [1]

А как рисуете окружность?


 
AlexanderSK ©   (2002-05-30 16:01) [2]

Расскажи конкретнее как ты ее перерисовываеш?


 
MaximatorVeter ©   (2002-05-30 16:11) [3]

Как мне кажется в этом случаи всегда будет заметно мигание.
А вот если использовать API DirectX, то точно мигать не будет.


 
int64 ©   (2002-05-30 17:51) [4]

Надо виртуальный битмап юзать. Вот набросал.

var
Form1: TForm1;
Bitmap: TBitmap;
R: TRect;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
R:= Rect(10, 10, 50, 50);
Bitmap:= TBitmap.Create;
Bitmap.Height:= Height;
Bitmap.Width:= Width;
Bitmap.Canvas.Brush.Color:= Color;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
Bitmap.Free;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
const incr = 5;
var TempRect: TRect;
begin
TempRect:= R;
R:= Rect(R.Left+incr, R.Top, R.Right+incr, R.Bottom);
UnionRect(TempRect, TempRect, R);
Bitmap.Canvas.FillRect(TempRect);
Bitmap.Canvas.Ellipse(R);
Canvas.CopyRect(TempRect, Bitmap.Canvas, TempRect);
end;


Дерзай.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
4-31058
Andrey-k
2002-04-06 12:30
2002.06.10
Использование CreateFile для открытия файла


8-30931
Yaro
2002-01-16 11:50
2002.06.10
Бамп


4-31048
DeMoN-777
2002-04-09 03:58
2002.06.10
Добавление mainmenu на чужую форму


3-30723
Voldemar
2002-05-18 16:29
2002.06.10
Пример базы склада


1-30860
Arhangel
2002-05-29 15:59
2002.06.10
Toolbar?