我有一个列表视图,当列表中的项目被修改并且列表中有选定的项目时,它会绘制一条额外的黑线。 代码遍历列表并使用下面的代码行更新单元格:
ListView_SetItem(m_hListCtrl, &lvItem);
使用ListView_InsertItem宏添加其他行。
如果添加了一行并且选择了其他行,则会发生以下情况:
如果用户选择其他行,该行将消失。如何防止/消除这条黑线呢?
答案 0 :(得分:3)
LVS_EX_GRIDLINES
样式有许多与之相关的错误,微软从未打扰过这些错误,这就是其中之一。解决方法是在进行触发问题的特定更改时强制重绘列表项。您可以使用LVM_REDRAWITEMS
消息重绘一系列列表项,甚至可以更简单地使用InvalidateRect()
重新绘制整个控件。