【发布时间】:2015-02-10 13:21:33
【问题描述】:
我希望将数据插入到事件(例如收到新消息)的 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 列表视图。
提前致谢!
【问题讨论】:
-
您需要创建一个计时器并在该计时器触发时进行修改
-
UpdateWindow 也许?
-
@Axalo 为什么打电话给
UpdateWindow? -
谢谢大卫,我刚刚更新了这个问题。它不需要定时,它会在某个事件发生时。但我的问题是您如何更新该特定控件。您是否需要将代码放在某个事件处理程序中?例如。 WM_NOTIFY?
-
我建议您在特定事件发生时更新列表。想必你知道那件事发生了什么。
标签: c++ user-interface listview winapi