我正在使用LVN_GETEMPTYMARKUP
在我的 ListCtrl 中显示一些文本,直到它获得一些内容。我面临的问题是我似乎无法找到刷新此文本并有效地强制 ListCtrl 多次发送此通知的方法。
有没有办法告诉 ListCtrl 刷新“标记”?
我正在使用LVN_GETEMPTYMARKUP
在我的 ListCtrl 中显示一些文本,直到它获得一些内容。我面临的问题是我似乎无法找到刷新此文本并有效地强制 ListCtrl 多次发送此通知的方法。
有没有办法告诉 ListCtrl 刷新“标记”?
好吧,这是一个相当古老的线程,但是我遇到了这个问题,并将为像我一样来到同一个地方的任何人提供答案。
可以通过向列表视图发送 LVM_RESETEMPTYTEXT = (LVM_FIRST + 84) 消息或通过获取 IListView 接口并执行 ResetEmptyText 方法来向列表视图重新发送 LVN_GETEMPTYMARKUP 消息。通过这种方式,您可以有条件地更改或清除空文本:)
我查看了源代码,似乎 listview 控件只发送了LVN_GETEMPTYMARKUP
一次查询并缓存了结果。
因此,我相信获得您正在寻找的行为的唯一方法是根据需要重新创建控件。