Привет.
На досуге делаю пейнт на делфи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 как-то