Czesc
Mam problem i nie wiem jak go rozwiazac. Rzecz polega na tym, ze rysuje po formie linie. Wspolrzedne poczatku i konca pobieram w onMouseDown i onMouseUp formy i to co narysuje znika. Wiem ze powinieniem to miec w onPaint, wtedy nie bedzie znikalo ale nie wiem jak polaczyc pobieranie wspolrzednych z onPaint. Mam funkcje rysujaca, ktora przyjmuje TPoint poczatku i konca. Moze mi ktos pomoc ?
Tak wyglada kod:
procedure TMDIChild.FormMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Canvas.Pen.Style:=psSolid;
DrawShape(Origin, Point(X, Y), pmCopy);
draging:=false;
end;
procedure TMDIChild.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
DrawShape(Origin, MovePt, pmNotXor);
MovePt := Point(X, Y);
DrawShape(Origin, MovePt, pmNotXor);
end;
procedure TMDIChild.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Canvas.MoveTo(X, Y);
Canvas.Pen.Style:=psDot;
Origin := Point(X, Y);
MovePt := Origin;
draging:=true;
end;
procedure TMDIChild.DrawShape(TopLeft, BottomRight: TPoint; AMode: TPenMode);
begin
if draging=true then
begin
Canvas.Pen.Mode := AMode;
Canvas.MoveTo(TopLeft.X, TopLeft.Y);
Canvas.LineTo(BottomRight.X, BottomRight.Y);
end;
end;
<ort>po prostu </ort>chce zeby to co narysuje nie znikalo ;) A i w onPaint mam juz cos narysowane ...