树状图视图列表

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

树视图控件中的每个项目可以具有与其相关联的一对位图图像。图像显示在项目标签的左侧。当选择项目时显示一个图像,而当未选择项目时显示另一个图像。例如,当选择项目时,项目可能会显示打开的文件夹,并且在未选择时会显示已关闭的文件夹。

要使用项目图像,您必须使用ImageList_Create功能创建图像列表,将所需的位图添加到列表中,并使用TVM_SETIMAGELIST消息将列表与树视图控件相关联。默认情况下,所有项目都会在图像列表中显示所选和非选择状态的第一个图像。您可以通过使用TVM_INSERTITEM消息将项目添加到树视图中时,通过指定所选和未选择的图像的索引来更改特定项目的默认行为。您可以使用TVM_SETITEM邮件添加项目后更改索引。

树视图控件的图像列表还可以包含被叠加在项目图像上的叠加图像。树视图项状态的位8到11中的非零值指定覆盖图像的基于1的索引(零表示不覆盖图像)。因为使用了一个4比特的基于索引的索引,所以覆盖图像必须在图像列表中的前15个图像之中。有关树状视图项状态的详细信息,请参阅树状物品状态概述.

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

通过在TV_ITEM结构中指定I_IMAGECALLBACK值而不是图像的索引,可以推断指定所选或未选择的图像,直到该项目即将被重绘为止。I_IMAGECALLBACK指示树视图,通过发送TVN_GETDISPINFO通知消息查询索引的父窗口。

TVM_GETIMAGELIST消息检索树视图控件的图像列表的句柄。如果您需要向列表中添加更多图像,则此消息很有用。有关图像列表的更多信息,请参阅图片列表.