gpt4 book ai didi

c - Win32 ListView常用控件重画问题

转载 作者:行者123 更新时间:2023-11-30 19:34:46 24 4
gpt4 key购买 nike

我在一个窗口中有一个 ListView 公共(public)控件。我有一种机制可以从同一窗口内更新列表(它的工作原理就像一个魅力)。但是,我得到了这样的要求,即我必须从外部实体(例如对话框或另一个窗口)更新 View 。这就是问题出现的地方。

当从窗口边界外部插入项目时, ListView 不会更新。我尝试在每个可能的 ListView 通知消息中执行 UpdateWindow() 调用,但无济于事。我希望有人能帮我解决这个问题。

此外,当整个应用程序窗口最小化并拉回时, ListView 确实会使用新项目/行进行更新。奇怪。

最佳答案

哦,是的,感谢@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 */
...

希望这可以帮助其他人寻找解决方案。

关于c - Win32 ListView常用控件重画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43438451/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com