2D Array von Bildern auf dem Window



  • Hallo alle zusammen

    Ich hab schon einige Windows Programme gesehen, die Karten von irgendwas darstellen indem mehrere quadratische Felder nebeneinander und übereinander gereiht werden. Also ein 2Dimensionales Array an Feldern.

    Das erstaunliche ist, dass es entlang der Fensterachsen mehrere Hundert sein können (natürlich dann mit Scroll-Leisten). Wie bekommt man eine schnelle Darstellung hin ohne OpenGL/DirectX benutzen zu müssen?

    Also:
    Wie macht man so was möglichst schnell,also ohne Flimmern z.b. beim scrollen?
    Welche Objekte/Klassen sollte man da verwenden?

    Ich benutze MSVC++ 6.0, Win98

    Danke im voraus



  • Ich verstehe zwar nicht so ganz, wwas du machen willst, aber wenn es dir ums Flimmern geht ist DoubleBuffering das Richtige für dich (falls du kein OpenGL bzw. DirectGraphics verwenden willst)



  • Okay und wie projeziert man jetzt am besten ca. 500 quadratische Felder auf einen Bildschirm.
    Als Bitmap (eins für jede Feldart) laden und dann draufprojezieren?
    Oder ein großes oder mehrere kleine Imageobjekte auf dem Fenster lassen, was sich dann mit den Scrolleisten weiter bewegt?



  • Guck dir mal ScrollWindow/ScrollWindowEx an diese Funktion scrollt den Fesnterinhalt und du musst nur noch das neu zeichnen, was vorher nicht zu sehen war.
    Tipp: zeichne nur das, was sichtbar ist (erst in ein Backbuffer, dann den gesamten Backbuffer ins Fenster, um das flackern zu verhindern), dann geht es schneller.

    Als Bitmap (eins für jede Feldart) laden und dann draufprojezieren?

    Würde ich so machen, ja.


Anmelden zum Antworten