我在一个窗口中有一个列表视图公共控件。我有一种机制可以在同一个窗口中更新列表(它就像一个魅力)。但是,我有这个要求,我必须从外部实体更新视图,比如一个对话框或另一个窗口。这就是问题出现的地方。
从窗口边界外插入项目时,列表视图不会更新。我尝试在所有可能的列表视图通知消息中进行 UpdateWindow() 调用,但无济于事。我希望有人可以帮助我解决这个问题。
此外,当整个应用程序窗口被最小化并拉回时,列表视图确实会更新一个新的项目/行。诡异的。
我在一个窗口中有一个列表视图公共控件。我有一种机制可以在同一个窗口中更新列表(它就像一个魅力)。但是,我有这个要求,我必须从外部实体更新视图,比如一个对话框或另一个窗口。这就是问题出现的地方。
从窗口边界外插入项目时,列表视图不会更新。我尝试在所有可能的列表视图通知消息中进行 UpdateWindow() 调用,但无济于事。我希望有人可以帮助我解决这个问题。
此外,当整个应用程序窗口被最小化并拉回时,列表视图确实会更新一个新的项目/行。诡异的。
哦,是的,感谢@Remy Lebeau 在评论中提供了正确的解决方案。这是他给的
/* window procedure of window where list view exists as a control */
case WM_NOTIFY:
switch(((LPNMHDR) lParam)->code) {
case LVN_INSERTITEM:
ListView_RedrawItems(hMyList, 0, lastIndex);
UpdateWindow(hMyList);
UpdateWindow(hwnd); /* the parent window */
...
希望这可以帮助其他人寻找解决方案。