Показать сообщение отдельно
  #1  
Старый 03.10.2010, 00:40
yanot yanot вне форума
Прохожий
 
Регистрация: 03.10.2010
Сообщения: 7
Репутация: 12
По умолчанию Время отклика OnMouseMove?

Привет.

На досуге делаю пейнт на делфи7) и столкнулся с проблемкой

самый простой инструмент Карандаш:

Код:
procedure TMainForm.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  MDown := True;
end;

procedure TMainForm.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
  if MDown then
    Image1.Canvas.Pixels[x, y] := PenColor;
end;

procedure TMainForm.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
begin
  if MDown then
    Image1.Canvas.Pixels[x, y] := PenColor;

  MDown := False;
end;

Но при быстром движении мышки, рисуюца отдельные точки, но не линия

В то время как в ms paint'e карандаш всегда без разрывов

Стало быть событие OnMouseMove вызываеца не так часто.

Если переписать все это через Win API будет нужный результат?

Или можно повысить вызовы OnMouseMove как-то
Ответить с цитированием