如何动态更新 C++ ListView?
How do I dynamically update a C++ ListView?
我想在事件(例如收到新消息)时将数据插入到 Listview 中,而不是通过单击按钮。这意味着在软件的整个运行过程中,行将不断添加和删除。
我该怎么做?我可以在创建 ListView 时添加行,例如
LVITEM lvi;
lvi.mask = LVIF_TEXT;
lvi.iItem = 0;
lvi.iSubItem = 0;
lvi.pszText = bob;
ListView_InsertItem(list, &lvi);
但我不知道如果我想即时更新,我需要将其放入哪个 windows 消息处理程序。例如。它会进入 WM_PAINT 吗? WM_NOTIFY?等等
我使用的是没有 MFC 的 Win32 列表视图。
提前致谢!
你想多了。每当您的计时器触发(或其他一些事件)时,只需修改列表即可。其余的列表视图控件知道它需要重新绘制,因此会自行失效。这将引发一个绘制周期,因此列表视图 window 将被要求绘制自己。
我想在事件(例如收到新消息)时将数据插入到 Listview 中,而不是通过单击按钮。这意味着在软件的整个运行过程中,行将不断添加和删除。
我该怎么做?我可以在创建 ListView 时添加行,例如
LVITEM lvi;
lvi.mask = LVIF_TEXT;
lvi.iItem = 0;
lvi.iSubItem = 0;
lvi.pszText = bob;
ListView_InsertItem(list, &lvi);
但我不知道如果我想即时更新,我需要将其放入哪个 windows 消息处理程序。例如。它会进入 WM_PAINT 吗? WM_NOTIFY?等等
我使用的是没有 MFC 的 Win32 列表视图。
提前致谢!
你想多了。每当您的计时器触发(或其他一些事件)时,只需修改列表即可。其余的列表视图控件知道它需要重新绘制,因此会自行失效。这将引发一个绘制周期,因此列表视图 window 将被要求绘制自己。