![]() |
scrollbox macht komische sachen....
ich habe eine scrollbox und in dieser ein image.
um nun das image in der scrollbox bewegen zu können(bzw. einfach in der scrollbox scrollen zu können, wenn das image größer als die scrollbox ist), mache ich folgendes:
Delphi-Quellcode:
oldmouse ist eine (OOP_Fanatiker bitte das nächste Wort überlesen ;) ) globale variable.
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer); begin if (ssleft in shift) and (scrollbox1.HorzScrollBar.Position+X-oldmouse.X >= 0) and (scrollbox1.VertScrollBar.Position+Y-oldmouse.Y >= 0) then scrollbox1.ScrollBy((X-oldmouse.X),(Y-oldmouse.Y)); end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if ssleft in shift then begin oldmouse.X:=X; oldmouse.Y:=Y; end; end; das ganze funktioniert auch, bis auf ein problem: verschiebe ich das image nach links oben, so verschwindet es dort und die scroll-leisten verschwinden -> das image wird verschoben?! verschiebe ich das image nach rechts unten, so scroltl die box brav mit - aber die scrollbalken werden immer kleiner, so als ob der inhalt mehr geworden wäre -> wieder der eindruck, das image würde verschoben, und nicht die scrollbox gescrollt !! was soll das? das image ist übrigens ein TImage32 aus der G32-Lib. ausserdem ist es ein direktes child der scrollbox. irgendwelche manipulationen an der position des image gibt es nicht, an keiner einzigen stelle im code. |
Re: scrollbox macht komische sachen....
Hallo Lukas,
gerade gestern habe ich für dieses Problem eine ![]() Grüße vom marabu |
Re: scrollbox macht komische sachen....
huh?
ich sehs mir mal an. na das sieht mir aber nicht gerade nach einer lösung für mein problem aus. nein das ist auf keinen fall eine. denn die messages kommen ja alle an. (ich rufe im image.mousemove das form.mousemove auf) [5 minuten später] und vor allem: die selbe konstellation mit scrollbox und timage funktioniert in einem anderen projekt von mir anstandslos. [10 Minuten später] :pale: oha! es liegt tatsächlich daran! wenn ich nämlich nur die scrolleisten benutze, funktioniert es....und in dem alten projekt hattte ich nur die :stupid: hmm... wie red ich mich jetzt da raus.... oh mist, meine lasagne brennt an! komm gleich wieder! *staubspur hinter sich herzieht* also... äh thx dann.... bittte nicht pöhse sein! :duck: :oops: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 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