![]() |
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... |
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-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; |
Re: graphics32: ImgView32 zeichnet nach dem Scrollen versetz
Danke Dir! Hat super geklappt!!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz