Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi graphics32: ImgView32 zeichnet nach dem Scrollen versetzt (https://www.delphipraxis.net/53672-graphics32-imgview32-zeichnet-nach-dem-scrollen-versetzt.html)

nano 21. Sep 2005 09:12


graphics32: ImgView32 zeichnet nach dem Scrollen versetzt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Moin moin, Kollegen :)



Kann mir jemand sagen, warum die ImgView32 komponente (die ja Scrollbalken besitzt) nach dem Runterscrollen versetzt zeichnet?

ps: Habe eine Statusleiste eingeführt, die aktuelle Koordinaten bei MouseOver anzeigt: Die Koordintaen stimmen allerdings nicht. Auch wenn ich mit dem Mauszeiger über die rechte untere Ecke gleite, werden Werte angezeigt, die viel kleiner als die Größe des Zeichenfeldes sind... :-//

pps: siehe Anhang...

Khabarakh 21. Sep 2005 13:51

Re: graphics32: ImgView32 zeichnet nach dem Scrollen versetz
 
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;

nano 26. Sep 2005 15:09

Re: graphics32: ImgView32 zeichnet nach dem Scrollen versetz
 
Danke Dir! Hat super geklappt!!


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:24 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz