Offset beim Zeichnen
-
Hallo,
eigentlich will ich nur ein paar Elemente (jedes zeichnet sich selbst) relativ zu einem anderen in ein Scrollview zeichnen. Diese Elemente wissen aber nicht dass sie relativ zu dem anderen gezeichnet werden. Ich will also einen Offset im DC einstellen. Wenn die Elemente denken sie sollen an die Position (20,20) und mein Offset beträgt (10,10) sollen sie also an (30,30) gezeichnet werden aber nichts davon wissen. Ich habe es mit CDC::SetViewportOrg versucht aber das gibt Probleme beim Scrollen. Seht ihr eine andere Möglichkeit oder woran kann der Fehler mit dem Scrollen liegen???THX,
MaSTaH

-
Du musst Dir per GetViewportOrg den Originalwert holen und mit dem Offset addieren/subtrahieren.
-
Probier ich mal aus, danke!
-
Also normal funktioniert das genau wie ich will. Aber wenn ich scrolle gibts ein Problem. Was ist der Viewport eigentlich genau? Verändert er sich beim scrollen?
-
Sorry, aber trotzdem: *push*

-
Verändert er sich beim scrollen?
Ja, normal steht er auf (0,0). Wird nun gescrollt, verschiebt er sich. Scrollt man z.B. auf (10,10), so verschiebt sich der Viewport auf (-10,-10), da ja die Bereiche von 0-10 über der oberen linken Ecke verschwinden müssen.
-
Achso, der Viewport ist quasi der Nullpunkt des Koordinatensystems in dem View welcher ungescrollt oben links liegt (bei dem Standard-Mapping-Mode)... *pling*
THX,
MaSTaH
-
Habs hinbekommen. Danke für die Denkanstöße René