Echte scroll- und zoombare View



  • Hallo!

    Ich hab' noch keinen wirklichen Peil von den monströsen MFCs...
    Z.Z. bin ich damit nur ein bißchen am "Spielen".

    Ich habe mit dem MFC-Wizard ein SDI-Projekt erstellt, als Ausgangsklasse der View dient CScrollView.

    Sinn meines Programms ist es, Punkt zeichnen zu können die durch Linien verbunden sind (vorerst). Es ist halt ein Editor. Das klappt auch wunderbar. Ich hab' auch Gitternetzlinien etc.

    Mein Problem ist nur, daß ich von den Punkten die Koordinaten in "einem gedachten Raum" (vielmehr: Ebene) speichern / laden will, und sie nur zur Anzeige auf die Client-Fläche "gemappt" werden. Eigentlich hab' ich also statt 1200 x 800 der Clientfläche 8192 x 8192 an Koordinaten zur Verfügung. Darüber möchte ich halt mit der Clientarea scrollen können.
    Nur: Wie stelle ich das an!?!

    Falls hierrauf jemand antwortet, bitte mit mehr als 3 Worten. Wie gesagt bin ich absoluter MFC-N00b, und kann mir gedankliche Wege dazu nicht so einfach aus den Fingern saugen.

    MfG, Sarge.

    P.S.: Später soll die View auch zoombar sein. Falls da noch jemand eine Idee zu hat... 🙂 Immer gerne!



  • Die MFC ist nicht wirklich monströs, das denkt man am Anfang nur 😉
    Es sind halt nur Foundation Classes!

    P.S. In der MSDN wird für CScrollView ein schönes Beispiel namens DIBLOOK angegeben.

    Man setzt da mit SetScrollSizes den virtuellen Bereich, wie Du Dir das schon richtig gedacht hattest, als Du beim Projektstart CScrollView angegeben hast *Lob* !

    Als Map-Mode kannst Du für den Start MM_TEXT lassen. Das veränderst Du dann erst, wenn Du auch drucken willst.

    Tja, das warst eigentlich schon.


Anmelden zum Antworten