Autor Beitrag
sogge
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Fr 30.04.04 23:44 
hi,
was muss man machen, wenn man ein übergroßes bild in nem relativ kleinem image feld lädt und es dann per drag&drop in dem image umher bewegen möchte?

und wie kann man beliebig viele kleine bilder über das große an bestimmten koordinaten legen?
bms
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 735

Win XP
Delphi 3, Delphi 6 PE, Delphi 2005 PE
BeitragVerfasst: Sa 01.05.04 12:18 
Zu der zweiten Frage hast du ein extra Thread, deshalb beantworte ich nur die erste Frage:

Das geht nicht. Du kannst nicht in einem Image scrollen.

Was du machen kannst ist das Bild in eine Bitmap laden und zuerst ein mal die obeste linke Ecke auf der Image zeichnen. Dann reagierst du in OnMouseDown und OnMouseMove in deiner Image auf die Mausbewegungen bei geklickten Maus. Zuerst merkst du dir die Koordinaten beim klicken der Maus (OnMouseDown ). Dann, in OnMouseMove, prüfst du ob die Maustaste immer noch geklickt ist. Wenn ja, dann prüfst du den Unterschied zwischen der jetztigen Mausposition und beim Klick. Die Differenz beachtest du jetzt wenn du die Bitmapzeichnung in die Image Zeichnen.


Eine ander Möglichkeit ist es mit der ScroolBox zu arbeiten. Am Prinzip ändert sich nichts. Nur arbeitest du hier mit der ganzen Image.

_________________
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >:(