如何隐藏/显示ListView控件中的列?

时间:2015-03-22 12:16:11

标签: winapi

在Windows资源管理器中,您可以隐藏/显示列。 Windows ListView控件是否也支持此功能? (我假设Windows资源管理器使用了我们无法访问的另一个控件)。

1 个答案:

答案 0 :(得分:0)

您可以根据需要使用ListView_GetColumn()ListView_SetColumn()来获取/设置列的属性。要隐藏列,请获取其当前宽度,然后将其宽度设置为0.要显示列,请恢复其先前的宽度。

但是,当列被隐藏"时,用户仍然可以抓住列边缘上的分隔符并手动调整列的大小。为避免这种情况,您可以:

  1. 使用ListView_DeleteColumn()完全删除列,然后在您想要重新显示时使用ListView_InsertColumn()

  2. 将ListView子类化为拦截来自ListView的标题控件的HDN_BEGINTRACK通知,返回TRUE以隐藏"列,以防止他们调整大小。