0

我正在创建一个代表和图像的类,并且在 Windows 中,您将图像存储在 ImageList 控件中。这个类将用于方便地将图像添加到其他控件,如 ListViews 或 Buttons,或者只是在屏幕上绘制。我的问题是:这样的东西的正确设计是什么?每个 Image 是否应该有它自己的一个图像的 ImageList,或者 Image 类应该为它的所有实例都有一个巨大的 ImageList,还是什么?我不太了解 Windows 类的内部结构,所以我不知道 ImageList 类有多“重”,但如果它相对便宜,我倾向于“每个实例都有自己的图像列表”。你有什么建议吗?

4

1 回答 1

1

一般来说,我会推荐介于两者之间的东西。

为每个图像设置不同的图像列表似乎很愚蠢。它们旨在存储图像集合并提高管理这些集合的效率,而不是保存单个图像。

再说一次,尝试为所有图像使用一个巨大的图像列表是有缺点的。即,图像列表中的所有图像必须具有相同的大小。如果您的图像不是这样,您需要将它们放在单独的图像列表中。

但更重要的是,我不确定你为什么要考虑创建一个包含图像列表的图像类。除非您要存储图标/光标或需要担心蒙版,否则为什么不封装代表图像的位图句柄呢?无论如何,这与您将要传递到图像列表的“添加”方法中的内容相同。

于 2011-01-06T16:42:11.257 回答