2011-01-06 8 views
0

Ich mache eine Klasse, die darstellt und Image, und mit Windows speichern Sie Bilder in ImageList-Steuerelemente. Diese Klasse wird verwendet, um Bilder bequem zu anderen Steuerelementen wie ListViews oder Buttons hinzuzufügen oder einfach auf dem Bildschirm zu zeichnen. Meine Frage ist: Was ist das richtige Design für so etwas? Sollte jedes Bild seine eigene ImageList eines Bildes haben, oder sollte die Image Klasse eine riesige ImageList für alle Instanzen haben, oder was? Ich weiß nicht viel über die Interna der Windows-Klassen, also weiß ich nicht, wie "schwer" die ImageList-Klasse ist, aber wenn es relativ günstig ist, habe ich mich an die "jede Instanz hat eine eigene Imagelist" gelehnt. Was empfehlen Sie?Objektorientiertes Design für ein Bild mit ImageList

Antwort

1

Generell würde ich etwas dazwischen empfehlen.

Es scheint albern, eine andere Bildliste für jeder Bild zu haben. Sie wurden entwickelt, um Sammlungen von Bildern zu speichern und die Verwaltung dieser Sammlungen effizienter zu gestalten, nicht so sehr, um ein einzelnes Bild zu speichern.

Andererseits gibt es auch Nachteile beim Versuch, eine riesige Bildliste für alle Ihre Bilder zu verwenden. Alle Bilder in einer Bildliste müssen nämlich die gleiche Größe haben. Wenn dies für Ihre Bilder nicht zutrifft, müssen Sie sie in separaten Bildlisten platzieren.

Aber mehr auf den Punkt, ich bin nicht wirklich sicher, warum Sie in Betracht ziehen, eine Bildklasse zu erstellen, die eine Bilderliste an erster Stelle enthält. Wenn Sie keine Symbole/Cursor speichern oder sich keine Gedanken über Masken machen müssen, warum kapseln Sie einfach ein Handle auf die Bitmap, die das Bild darstellt. Das ist die gleiche Sache, die Sie sowieso in die "Add" -Methode der Bildliste übernehmen werden.

+0

Danke, das scheint der richtige Weg, es zu tun, ich weiß nicht, warum ich nicht daran gedacht habe. –

Verwandte Themen