列表查看图片列表

【勇芳软件工作室】汉化HomePreviousNext

列表视图项目的图标包含在您创建并分配给列表视图控件的映像列表中。一个图像列表包含图标视图中使用的全尺寸图标,单独的图像列表包含用于其他视图的相同图标的较小版本。您还可以指定包含【状态图像,】的第三个图像列表,显示在项目图标旁边以指示应用程序定义的状态。

您可以使用LVM_SETIMAGELIST消息将图像列表分配给列表视图控件,指定图像列表是否包含全尺寸图标,小图标或状态图像。您可以使用GetSystemMetrics功能来确定完整尺寸和小图标的适当尺寸以及用于创建图像列表的ImageList_Create功能。有关图像列表的更多信息,请参阅图片列表.

您可以使用LVM_GETIMAGELIST消息检索当前分配给列表视图控件的图像列表的句柄。

全尺寸和小图标图像列表通常包含每种类型的列表视图项目的图标。如果列表视图控件从不在图标视图中,则不需要创建这两个图像列表,如果仅使用一个图像列表__。如果您创建两个图像列表,它们必须以相同的顺序包含相同的图像,因为单个值用于标识两个图像列表中的列表视图项的图标。

全尺寸和小图标图像列表还可以包含设计为叠加在项目图标上的【叠加图像,】.列表视图项状态的位8到11中的非零值指定覆盖图像的基于1的索引(零表示不覆盖图像)。因为使用了一个4比特的基于索引的索引,所以覆盖图像必须在图像列表中的前15个图像之中。有关列表视图项状态的详细信息,请参阅物品国家.

如果指定了状态图像列表,则列表视图控件将保留状态图像的每个项目图标左侧的空间。应用程序可以使用状态映像(例如已检查和清除的复选框)来指示应用程序定义的项目状态。位12到15中的非零值指定状态图像的基于1的索引(零表示无状态图像)。状态图像通常不会在图标视图中使用。

默认情况下,列表视图控件销毁时分配给它的映像列表。但是,如果列表视图控件具有LVS_SHAREIMAGELISTS窗口样式,则应用程序负责在不再使用映像列表时销毁该映像列表。如果将相同的图像列表分配给多个列表视图控件,则应指定此样式;否则,多个控件可能会尝试销毁相同的映像列表。