使用所选项目更新ListView时出现黑线

时间:2013-09-16 10:25:07

标签: winapi listview visual-c++ activex

我有一个列表视图,当列表中的项目被修改并且列表中有选定的项目时,它会绘制一条额外的黑线。 代码遍历列表并使用下面的代码行更新单元格:

ListView_SetItem(m_hListCtrl, &lvItem);

使用ListView_InsertItem宏添加其他行。

如果添加了一行并且选择了其他行,则会发生以下情况:

ListView with black line

如果用户选择其他行,该行将消失。如何防止/消除这条黑线呢?

1 个答案:

答案 0 :(得分:3)

LVS_EX_GRIDLINES样式有许多与之相关的错误,微软从未打扰过这些错误,这就是其中之一。解决方法是在进行触发问题的特定更改时强制重绘列表项。您可以使用LVM_REDRAWITEMS消息重绘一系列列表项,甚至可以更简单地使用InvalidateRect()重新绘制整个控件。