CListCtrl bzw. CImageList Limits?



  • Hi,

    Ich habe ein CListCtrl das die Bilder aus einer CImageList benutzt, welche sehr groß und sehr zahlreich sind. (128x128 Pixel bei über 3000 Bildern)

    Nun scheine ich damit irgendwie an die grenzen einer der beiden komponenten gestoßen zu sein. Die ersten 1000 Icons werden noch in der CListCtrl ausgegeben. Die nachfolgenden werden einfach nicht gezeichnet.

    An der anzahl scheint es nicht zu scheitern, den wenn ich größere Bilder benutze, passen noch weniger rein und wenn ich kleinere Benutze mehr.

    Also gehe ich mal davon aus, das ich die Speichergrenze einer der komponenten überschritten habe. Irgendwie wundert mich das aber, denn ich komme bei 1000 Bildern a 32Bit a 128x128 Bildpunkte "nur" auf etwa 60MB Speicherbedarf. Da sollte doch noch mehr zu bewältigen sein.

    Ich habe keine Ahnung, wie ich dieses Problem in den Griff kriegen soll, da ich ja nicht mal genau weiß, worans liegt.

    Ich wäre für jede(n) Hilfe/Tip/Ratschlag dankbar.

    Vielen dank im voraus
    George



  • 💡 du könntest z.B. nicht alle deine Bilder gleich laden. sondern nur die 60MB (oder noch weniger) auffüllen und beim scrollen einfach aus nebenbeiführender Namensliste die benötigte nachladen. Aber vergiss nicht die auszuladen, die z.B. im Moment am weitesten von dem Scrollpunt sind.



  • Danke für die Antwort. Sicher auch ne möglichkeit, aber ich hab mich jetzt doch für ne andere Lösung entschieden. Das Problem an sich hab ich zwar nicht gelöst aber ich habs umgangen. Ich benutze jetzt eine eigene Bildverwaltung und zeichne diese in der OnCustomDraw Routine des CListCtrl Elements selbst.


Anmelden zum Antworten