Einzelnen Beitrag anzeigen

Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 

Re: graphics32: ImgView32 zeichnet nach dem Scrollen versetz

  Alt 21. Sep 2005, 13:51
Die Events von TImgView32 liefern die Position relativ zu den Scrollbalken, das OffScreenBitmap will sie aber logischerweise relativ zu seinem Nullpunkt. Delphi-Referenz durchsuchenTCustomImage32.ControlToBitmap
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  ImgView321.Bitmap.SetSize(500, 500);
end;

procedure TForm1.ImgView321MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer; Layer: TCustomLayer);
var
  RelPoint: TPoint;
begin
  RelPoint := ImgView321.ControlToBitmap(Point(X, Y));
  ImgView321.Bitmap.MoveTo(RelPoint.X, RelPoint.Y);
end;

procedure TForm1.ImgView321MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer; Layer: TCustomLayer);
var
  RelPoint: TPoint;
begin
  if ssLeft in Shift then
  begin
    RelPoint := ImgView321.ControlToBitmap(Point(X, Y));
    ImgView321.Bitmap.LineToAS(RelPoint.X, RelPoint.Y);
  end;
end;
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat