在 MFC 的 CListCtrl 类中,确实有 RedrawItems 这个方法,用于重新绘制指定项或所有项。以下是该方法的基本用法:
BOOL RedrawItems(int nFirstItem, int nLastItem, UINT nFlags = RDW_INVALIDATE | RDW_ERASE);

  •  nFirstItem: 要重新绘制的第一项的索引。

  •  nLastItem: 要重新绘制的最后一项的索引。

  •  nFlags: 控制重新绘制的标志,可以是 RDW_INVALIDATE、RDW_ERASE 等。


这个方法可以用来强制重新绘制列表控件中的特定项,可以指定一个范围,也可以重新绘制整个列表。

以下是一个简单的示例:
CListCtrl m_listCtrl;  // 通过类向导添加的 CListCtrl 对象

// 重新绘制整个列表
m_listCtrl.RedrawItems(0, m_listCtrl.GetItemCount() - 1);

// 或者,重新绘制特定范围的项
int nFirstItem = 0;
int nLastItem = 5;
m_listCtrl.RedrawItems(nFirstItem, nLastItem);

在这个示例中,RedrawItems 方法被用于重新绘制列表控件中的项。注意,这只会触发重绘,不会改变项的内容。如果需要更新项的数据,你可能需要调用相应的设置数据的方法,然后再调用 RedrawItems 重新绘制。


转载请注明出处:http://www.zyzy.cn/article/detail/18622/MFC/CListCtrl